中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

android 多渠道打包

發布時間:2020-06-25 00:48:36 來源:網絡 閱讀:390 作者:home_xu 欄目:移動開發

1、packerNg 式打包

        Android應用使用的APK文件就是一個帶簽名信息的ZIP文件,根據 ZIP文件格式規范,每個ZIP文件的最后都必須有一個叫 Central Directory Record 的部分,這個CDR的最后部分叫”end of central directory record”,這一部分包含一些元數據,它的末尾是ZIP文件的注釋。注釋包含Comment Length和File Comment兩個字段,前者表示注釋內容的長度,后者是注釋的內容,正確修改這一部分不會對ZIP文件造成破壞,利用這個字段,我們可以添加一些自定義的數據,PackerNg項目就是在這里添加和讀取渠道信息。

   <a  > 對應github地址</a>


2、META-INF 式打包

可以只修改已有apk的渠道標志,快,批量,原理簡單


3、Gradle 打渠道包

基本原理是利用Gradle的 manifest merger 功能 

這個功能的主要用途是能夠在運行時替換AndroidManifest.xml里面的內容

第一步 在AndroidManifest.xml里配置meta-data

<meta-data

        android:name="UMENG_CHANNEL"

        android:value="${UMENG_CHANNEL_VALUE}" />

第二步 在模塊的build.gradle文件的defaultConfig里加上PlaceHolder定義


android {

    ...


    defaultConfig {

        ...

        manifestPlaceholders = [ UMENG_CHANNEL_VALUE:"default_channel" ]

    }   

}


這里的作用有兩個,一是聲明UMENG_CHANNEL_VALUE是可替換值的PlaceHolder,二是為其設置默認值。



第三步 在模塊的build.gradle文件里添加ProductFlavors配置

android {

    productFlavors {

        default_channel{}

        wandoujia{}

        _360{}

        yingyongbao{}

        xiaomi{}

        baidu{}

        huawei{}

        jifeng{}

    }

    productFlavors.all { flavor ->

        flavor.manifestPlaceholders = [ UMENG_CHANNEL_VALUE:name ]

    }

}    



第四步 一次生成所有渠道包


到工程目錄下運行gradlew assembleRelease。

可以看到這次編譯一共產生了對應productFlavors段的不同渠道包。


可以反編譯每個apk,打開AndroidManifest.xml看看,發現友盟這一段的配置已經相應的被修改了。


<meta-data

        android:name="UMENG_CHANNEL"

        android:value="default_channel" />


還可以利用Gradle生成單獨的渠道包  

如 gradlew assembleWandoujiaRelease  


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乌拉特中旗| 宁城县| 扶沟县| 策勒县| 吴堡县| 开阳县| 阿尔山市| 游戏| 奉贤区| 南澳县| 达尔| 梅河口市| 凌云县| 页游| 乌兰浩特市| 贺州市| 昌宁县| 武功县| 华宁县| 内江市| 延津县| 奉新县| 庐江县| 涟水县| 洛浦县| 阳江市| 孝感市| 永泰县| 特克斯县| 蒲江县| 东乌珠穆沁旗| 黎城县| 慈利县| 共和县| 荆州市| 南郑县| 北宁市| 浦县| 靖边县| 仙游县| 新丰县|