日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android Studio导出Jar包并混淆

發(fā)布時(shí)間:2025/7/14 Android 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android Studio导出Jar包并混淆 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

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

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

做法其實(shí)很簡(jiǎn)單,一個(gè)build文件,一個(gè)proguard文件就可以了。

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

在Android Studio是module的概念,其實(shí)也相當(dāng)于project。主app module依賴其它子module,在打包時(shí),會(huì)將其它module打成aar,賦給主app。所以jar是針對(duì)整個(gè)module來make的。

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

在你要打jar包的module build文件中,加上一個(gè)生成jar包的task。其實(shí)即使不添加,在整個(gè)工程build時(shí)也會(huì)生成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'
}

這個(gè)時(shí)候,在Termial中就輸入./gradlew makeJar就能將classes.jar復(fù)制倒http.jar了。這個(gè)時(shí)候還是沒混淆的,因?yàn)榛煜緵]寫。

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

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

proguard-rules.pro

?

轉(zhuǎn)載于:https://www.cnblogs.com/stay/p/5175527.html

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

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。