android studio 開源加固插件 親測沒毛病

1.1上傳新增了資源混淆,具體參見github

先說說寫這個插件的目的,其實就是第三方加固不方便還要錢,沒有插件打包方便集成,最主要的是不知道別人怎么弄的出現(xiàn)bug和修改需求不方便,所以我就寫了個插件,雖然是基礎(chǔ)加固但是好過只能用混淆簡單保護代碼要好,最主要是自己可以隨意改。當然還集成分包和多渠道打包的插件功能。首先感謝 packer-ng-plugin 版本1.0.8,Android-Easy-MultiDex版本1.0.1和ApkToolPlus,插件功能是在這些個插件優(yōu)化而來。默認是要使用分包和多渠道打包的。這個兩個配置請見鏈接地址。

首先是用法介紹

dependencies {classpath 'com.library.wj:dexknife-wj:1.0.3'//分包}

使用插件

apply plugin: 'dexknifeWj'

接下來是配置

dexKnife {

//必選參數(shù)enabledtrue//if false,禁用分包插件//可選參數(shù)///1.如果沒有可選參數(shù),將根據(jù)enabled決定是否分包。//2.如果有可選參數(shù),需滿足必選參數(shù)和可選參數(shù)的條件才允許分包/*

*eg:當前productFlavors = dev,buildType = debug,

*參數(shù)組合1:enabled =true,productFlavor = dev,buildType = debug 分包

*參數(shù)組合2:enabled =true,productFlavor = mock,buildType = debug 不分包

*參數(shù)組合1:enabled =true,buildType = debug 所有buildType = debug分包

*參數(shù)組合1:enabled =true,productFlavor = dev 所有productFlavor = dev分包

* *///=======================加固shelltruepackerNgShellfalseapktoolpath'C://android_work/android_workspace/android_studio_xs/dexknife-wj/src/apktool/apktool.jar'jiaguzippath'C:/android_work/android_workspace/android_studio_xs/dexknife-wj/src/main/java/com/wj/dexknife/shell/jiagu/jiagu.zip'//=======================多渠道// 指定渠道打包輸出目錄archiveOutput = file(newFile(project.buildDir.path,newSimpleDateFormat("yyyy-MM-dd").format(newDate()) +"_apks"))// 指定渠道打包輸出文件名格式// 默認是 `${appPkg}-${flavorName}-${buildType}-v${versionName}-${versionCode}`archiveNameFormat = 'qianfandu-${flavorName}-${versionName}'// 是否檢查Gradle配置中的signingConfig,默認不檢查// checkSigningConfig = false// 是否檢查Gradle配置中的zipAlignEnabled,默認不檢查// checkZipAlign = false

}

其中加固注釋的是加固所要填的,其他配置請見其他兩個插件的寫法。

apktoolpath 是打包工具jiaguzippath 是殼的文件 只個文件后面介紹shell 是編譯時打包

packerNgShell 是配合多渠道打包用的 就是packer-ng這個插件,默認是集成了的application '你的殼的application 名稱'

好了上效果圖沒有加固之前的


加固之后的


區(qū)別在于 你只看的到殼文件 原項目的dex加密了放在asset了。動態(tài)加載了dex 和分包是一樣的 只不過是解密要點時間。如果要自定義加殼文件請在配置文件加上 application '你的殼的application 名稱'原理在反響好的情況下再寫吧。

apktool和jiagu.zip 下載http://download.csdn.net/detail/u010523832/9766204

單獨加固需要點擊task 如圖


多渠道打包敲命令 和packer-ng插件一樣gradlew clean apkRelease請注意要配置簽名 和 普通配置沒有什么不同

殼文件介紹


libs放apktoolplus反編譯得到的libs里面的,smail也就是反編譯得到的smail,壓縮成zip即可。

github demo地址https://github.com/godlikewangjun/dexknife-wj

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

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,872評論 25 709
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,533評論 19 139
  • 這一章主要針對項目中可以用到的一些實用功能來介紹Android Gradle,比如如何隱藏我們的證書文件,降低風險...
    acc8226閱讀 7,965評論 3 25
  • 從這章開始我們就開始介紹Android Gradle插件了,會通過幾章由淺入深的詳細的介紹Android Grad...
    acc8226閱讀 2,398評論 1 15
  • 今天又教學(xué)到現(xiàn)在才解脫,為了讓我妹了解一個正方體怎樣愉快地由幾個平面正方體拼成,我搞了一晚上的剪紙。如果不是出...
    做夢不想醒閱讀 926評論 1 1

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