主模塊build.gradle根路徑加入任務
task makeJar(type: org.gradle.api.tasks.bundling.Jar) { //指定生成的jar名稱 baseName 'fixclass' //從哪里打包class文件 from('build/intermediates/classes/debug/cn/xxx/hotfixtest/') //打包到jar后的目錄結構 into('cn/gowild/hotfixtest/') // //include ,exclude參數來設置過濾 //去掉不需要打包的目錄和文件 exclude('MainActivity.class', 'FixEngine.class', 'BuildConfig.class', 'R.class', 'BuildConfig.class') // 去掉R$開頭的文件 exclude { it.name.startsWith('R$') } }
命令執行gradlew makejar
build/intermediates/classes/debug/cn/xxx/hotfixtest目錄下自動生成jar包
sdk\build-tools\26.0.0目錄下dx.bat命令
dx --dex --output=新dex.jar 當前jar.jar
1、build --> make project 后,在build\intermediates\classes\debug\..下得到要操作的.class文件
2、創建目錄,層級與.java文件包名一致,把.class文件移到該目錄下(如果路徑名與包名不一致,轉dex操作會報錯)
3、用jdk/bin目錄下的jar命令或者上方的gradle腳本, jar cvf destFile.jar source.class,得到jar文件
4、用Android sdk/build-tools下的命令dx --dex --output=destFile_dex.jar destFile.jar得到包含.dex類型的jar包
工具:https://sourceforge.net/projects/dex2jar/?source=typ_redirect
命令:d2j-dex2jar classes.dex
JD-GUI:http://www.softpedia.com/get/Programming/Debuggers-Decompilers-Dissasemblers/JD-GUI.shtml
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。