关于android 打jar包

一,首先需要混淆代码,通用混淆如下


-optimizationpasses5#指定代码压缩级别

-dontusemixedcaseclassnames#混淆时不会产生形形色色的类名

-dontskipnonpubliclibraryclasses#指定不忽略非公共类库

-dontpreverify#不预校验,如果需要预校验,是-dontoptimize

-ignorewarnings#屏蔽警告

-keepattributesSignature

-verbose#混淆时记录日志

-optimizations!code/simplification/arithmetic,!field/*,!class/merging/*#优化

#禁止混淆的类

-keeppublic class * extends android.app.Activity

-keeppublic class * extends android.app.Application

-keeppublic class * extends android.app.Service

-keeppublic class * extends android.content.BroadcastReceiver

-keeppublic class * extends android.content.ContentProvider

-keeppublic class * extends android.preference.Preference

-keeppublic class com.android.vending.licensing.ILicensingService

-keepclass android.support.v7.25.3.1{*;}#过滤android.support.v7注意这里v4还是v7要看gradle里面compile了那个扩展包

-keepinterface android.support.constraint.**{*;}

#参数来保持第三方库中的类而不乱,-dontwarn和-keep结合使用,

#意思是保android.net.**这个包里面的所有类和所有方法而不混淆,接着还叫ProGuard不要警告找不到com.xx.bbb.这个包里面的类的相关引用

-dontwarncom.inuker.bluetooth.library.**

#不参加混淆的package

-keepclass com.djlm.ble.intface.**

#该类里面的方法不参加混淆

-keepclass com.djlm.ble.tools.**{public *;}

-keepclass com.djlm.ble.util.**{public *;}

-keepclass com.djlm.ble.server.**{public *;}

-keepclass com.djlm.ble.cache.**{public *;}

-keepclass com.djlm.ble.intface.**{*;}

#-keep class com.djlm.ble.intface.ReadSimInfoCallBack{*;}

#-keep class com.djlm.ble.intface.ScrapCardResetListener{*;}

#-keep class com.djlm.ble.intface.WriteCardListener{*;}

#保留我们自定义控件(继承自View)不被混淆

-keepclasseswithmembernamesclass *{

native ;

}

#保留我们自定义控件(继承自View)不被混淆

-keepclasseswithmembernamesclass *{

native ;

}

#对于带有回调函数的onXXEvent、**On*Listener的,不能被混淆

-keepclassmembersclass *{

void *(**On*Event);

void *(**On*Listener);

}

二,打jar包的关键代码


三,一些心得

      1,依赖的第三方打进jar包会报找不到类的错    // compile'com.inuker.bluetooth:library:+'

              解决:最好找到该依赖的jar包,暂时没找到其他好的解决办法

       2,so文件不用打进jar包,提供给对方即可

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,691评论 25 709
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,786评论 2 45
  • 1.首先需要在app下的build.gradle下配置,true表示编译时会混淆代码\ 2.在proguard-r...
    Thomas_yy阅读 11,676评论 0 6
  • 2004年,父亲单位集资建房,我家以四万元的价格卖掉的原来的房屋,并以800元每平米的价格添置了一套面积200平米...
    杨艺瀚阅读 2,118评论 1 1
  • 儿童心理学家指出:小宝宝对金钱的兴趣可以说是与生俱来的,早期的金钱教育对儿童树立一个正确积极的金钱观,形成良好的理...
    成长学阅读 4,377评论 0 8

友情链接更多精彩内容