Android 快速打包工具(真的很快)

打包工具

Android打包工具,100個渠道包只需要10秒鐘

(packer-ng-plugin)

重要說明:1.若360等需要加固的渠道,先加固,再打渠道包(注意注意注意)

? ? ? ? ? ? ? ? ? 2.使用最新版SDK(Android Gradle Plugin 2.2.0+)時,請務(wù)必在signingConfigs里加入v2SigningEnabled false,否 ? ? ? ? ? ? ? ? ? ? ? ?則打包時會報錯

? ? ? ? ? ? ? ? ?3.如果需要UMeng統(tǒng)計,請在自己的Application中獲取渠道信息并傳給UMeng

Stringchannel = PackerNg.getChannel(this);

MobclickAgent.startWithConfigure(newMobclickAgent.UMAnalyticsConfig(this,AppConfig.UMENG_KEY,channel));


applyplugin:'packer'

dependencies {compile'com.mcxiaoke.gradle:packer-helper:1.0.8'}??

android {

signingConfigs {? ??

? release {

//如果要支持最新版的系統(tǒng) Android 7.0

//這一行必須加,否則安裝時會提示沒有簽名

//作用是只使用舊版簽名,禁用V2版簽名模式

v2SigningEnabled ?false

}? ? }? }

為了提高Android系統(tǒng)的安全性,Google從Android 7.0開始增加一種新的增強簽名模式,從Android Gradle Plugin 2.2.0開始,構(gòu)建系統(tǒng)在打包應(yīng)用后簽名時默認使用APK signature scheme v2,該模式在原有的簽名模式上,增加校驗APK的SHA256哈希值,如果簽名后對APK作了任何修改,安裝時會校驗失敗,提示沒有簽名無法安裝,使用本工具修改的APK會無法安裝,解決辦法是在signingConfigs里增加v2SigningEnabled false,禁用新版簽名模式,技術(shù)細節(jié)請看官方文檔:APK signature scheme v2,還有這里Issue 31的討論 。


使用方式

方式一:使用命令行工具(推薦)

使用步驟:

1.下載打包工具

PackerNg-1.0.9

2.打一個基礎(chǔ)包,不包含渠道信息

3.編寫渠道.text文件(如下格式)


渠道.text

4.隨便位置創(chuàng)建一個文件夾,將打包工具和渠道文件.text和基礎(chǔ)包一同放進去(只為了,操作方便)

text文件夾

5.打開命令行,定位到該目錄,輸入命令:

java -jar PackerNg-x.x.x.jar apkFile marketFile outputDir


命令行輸入

方式二:使用該庫提供的gradle插件(不推薦)

使用步驟:(具體使用,請到github查看

1.在app/build.gradle中添加依賴:

dependencies {

compile 'com.mcxiaoke.gradle:packer-helper:1.0.9'

}

2.程序入口添加以下代碼(即配置友盟統(tǒng)計的渠道名):

final String market =PackerNg.getMarket(Context);

MobclickAgent.startWithConfigure(newMobclickAgent.UMAnalyticsConfig(context, umeng_appkey, market));

3.去除manifest中關(guān)于友盟統(tǒng)計的metadata,以及**build.gradle**中的相關(guān)內(nèi)容

android:name="UMENG_CHANNEL"

android:value="${UMENG_CHANNEL_VALUE}"

/>


實現(xiàn)原理

[原作者原理說明](https://github.com/mcxiaoke/packer-ng-plugin)

一個xx.apk文件是一個簽名過的.zip文件,根據(jù)[ZIP文件結(jié)構(gòu)(https://users.cs.jmu.edu/buchhofp/forensics/formats/pkzip.html),它的末尾是該文件的注釋,注釋包含兩個部分Comment Length和File Comment。該工具利用zip文件的評論區(qū),進行flavor的讀寫寫入注釋區(qū)的結(jié)構(gòu)如下,data即渠道名

[filecontent] [commentLength][commentContent]

2 bytes |由以下構(gòu)成

[data] ? [dataLength] ?[magic]

?nbytes ? 2bytes ? ? 5bytes

byte[] magic = {0x21, 0x5a, 0x58, 0x4b, 0x21};

最后編輯于
?著作權(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)容

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