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即可。