關于android 打jar包

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


-optimizationpasses5#指定代碼壓縮級別

-dontusemixedcaseclassnames#混淆時不會產生形形色色的類名

-dontskipnonpubliclibraryclasses#指定不忽略非公共類庫

-dontpreverify#不預校驗,如果需要預校驗,是-dontoptimize

-ignorewarnings#屏蔽警告

-keepattributesSignature

-verbose#混淆時記錄日志

-optimizations!code/simplification/arithmetic,!field/*,!class/merging/*#優(yōu)化

#禁止混淆的類

-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包,提供給對方即可

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,058評論 25 709
  • afinalAfinal是一個android的ioc,orm框架 https://github.com/yangf...
    passiontim閱讀 15,876評論 2 45
  • 1.首先需要在app下的build.gradle下配置,true表示編譯時會混淆代碼\ 2.在proguard-r...
    Thomas_yy閱讀 6,780評論 0 6
  • 2004年,父親單位集資建房,我家以四萬元的價格賣掉的原來的房屋,并以800元每平米的價格添置了一套面積200平米...
    楊藝瀚閱讀 323評論 1 1
  • 兒童心理學家指出:小寶寶對金錢的興趣可以說是與生俱來的,早期的金錢教育對兒童樹立一個正確積極的金錢觀,形成良好的理...
    成長學閱讀 965評論 0 8

友情鏈接更多精彩內容