日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Android Studio导出Jar包并混淆

發布時間:2025/7/14 66 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android Studio导出Jar包并混淆 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在Android Studio中,自帶反編譯查看class文件,如果沒有混淆的話,class文件跟java文件基本沒有區別了,為了保護,還是混淆的好。

網上看了不少資料,都是直接下載proguard額外jar,直接生成,覺得不方便,既然apk都能混淆,為什么不直接通過Android Studio來混淆jar包呢。

做法其實很簡單,一個build文件,一個proguard文件就可以了。

首先要明白jar從哪里來,以前在Eclipse中是一個project設置為library,然后另外一個主project依賴它。build一下,在library中就會生成jar文件了。

在Android Studio是module的概念,其實也相當于project。主app module依賴其它子module,在打包時,會將其它module打成aar,賦給主app。所以jar是針對整個module來make的。

如果module內僅僅是java代碼,生成jar是沒問題的,但如果還有resource文件,那就得打aar文件了。

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

task makeJar(type: proguard.gradle.ProGuardTask, dependsOn: "build") {
// 未混淆的jar
injars 'build/intermediates/bundles/release/classes.jar'
// 混淆后的jar路徑
outjars 'build/http.jar'
// 具體需要keep住的類
configuration 'proguard-rules.pro'
}

這個時候,在Termial中就輸入./gradlew makeJar就能將classes.jar復制倒http.jar了。這個時候還是沒混淆的,因為混淆根本沒寫。

如果module中同時也依賴其它libs,那需要在proguard中聲明那些libs。比如:#-libraryjars libs\gson-2.2.2.jar,大部分都跟apk混淆類似的,只不過是局限于某個module而已。

附送一個proguard供大家參考,也是網上找的。最后混淆效果并不是很好,只是簡單的將部分變量改成了abcd這樣,不過也夠了。總不能將方法也混淆,這樣外部調用就麻煩了。

proguard-rules.pro

?

轉載于:https://www.cnblogs.com/stay/p/5175527.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的Android Studio导出Jar包并混淆的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。