Android Studio生成混淆jar包

將module生成jar,其內(nèi)部必須只能是java代碼。如果還有resource文件,那就得打aar文件了。

在你要打jar包的module build文件中,加上一個生成jar包的task。(其實(shí)即使不添加,在整個工程build時也會生成jar文件的。在build/intermediates/bundles/release/classes.jar可以找到。只是沒混淆罷了。)

圖一

在圖1中紅箭頭標(biāo)注的文件內(nèi)加入下面代碼:

task makeJar(type: proguard.gradle.ProGuardTask,dependsOn:"build") {

delete'build/outputs/jar/yybo.jar'//刪除之前編譯混淆jar包

injars'build/intermediates/bundles/release/classes.jar'//項目編譯但未混淆的jar

outjars'build/outputs/jar/yybo.jar'//混淆后的jar路徑

configuration'proguard-rules.pro'// 混淆配置文件

}

然后在‘proguard-rules.pro’中,添加如下代碼

-libraryjars 'C:\Program Files\Java\jdk1.7.0_67\jre\lib\rt.jar'

-libraryjars 'D:\android\adt-bundle-windows-x86_64-20140702\sdk\platforms\android-19\android.jar'

-optimizationpasses 5

-dontusemixedcaseclassnames

# -keep public class * extends android.app.Activity

-keep class com.yybo.mylibrary.* {

public <fields>;

public <methods>;

}

其中:-libraryjars'C:\Program Files\Java\jdk1.7.0_67\jre\lib\rt.jar' 和 -libraryjars'D:\android\adt-bundle-windows-x86_64-20140702\sdk\platforms\android-19\android.jar'?分別為jdk的位置和sdk的位置。

‘com.yybo.mylibrary.*’是module的包名。

最后,在Terminal中輸入'gradlew makeJar'。提示“BUILD SUCCESSFUL”成功。

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

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容