Android多渠道打包(友盟)

1.在Manifest.xml文件中添加權(quán)限和AppKey

權(quán)限

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

AppKey和渠道變量:

<meta-data android:value="59ba89cff43e48471f0000eb" android:name="UMENG_APPKEY"/>
//設(shè)置動(dòng)態(tài)渠道變量
<meta-data android:value="${UMENG_CHANNEL_VALUE}" android:name="UMENG_CHANNEL"/>

2.在build.gradle中設(shè)置productFlavors

為不同的渠道市場(chǎng)進(jìn)行設(shè)置:

android {  
    productFlavors {
        xiaomi {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"]
        }
        baidu {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu"]
        }
        wandoujia {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"]
        }
    }  
}

?

//通過(guò)gradle腳本語(yǔ)法統(tǒng)一設(shè)置不同的渠道
android {  
    productFlavors {
        xiaomi {}
        baidu {}
        wandoujia {}
    }  
    productFlavors.all{
        flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
    }
}

3.對(duì)應(yīng)用進(jìn)行打包操作

在AndroidStudio菜單欄點(diǎn)擊Build菜單–>Generate signed APK


4.通過(guò)studio命令行工具薄扁,進(jìn)行打包

命令:gradlew assembleRelease 開(kāi)始打包

打包成功

查看apk

至此较幌,多渠道打包就已經(jīng)完成!蹂窖!

4.簽名

//添加簽名文件配置
signingConfigs{
    debug{}
    //為release包添加簽名文件配置
    release{
        storeFile file("Multi.jks")
        storePassword "5258168699"
        keyAlias "Multi"
        keyPassword "5258168699"
    }
}

注意:signingConfigs代碼塊一定要寫(xiě)在buildTypes前面猜年,否則會(huì)報(bào)錯(cuò):
Could not find property 'debugConfig' on SigningConfig container.

5.自己的多渠道打包

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.3"
    defaultConfig {
        applicationId "xiaoming.com.multi"
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
        //默認(rèn)設(shè)置友盟
        manifestPlaceholders = [UMENG_CHANNEL_VALUE: "umeng"]
    }
    //添加簽名文件配置
    signingConfigs{
        debug{}
        //為release包添加簽名文件配置
        release{
            storeFile file("Multi.jks")
            storePassword "5258168699"
            keyAlias "Multi"
            keyPassword "5258168699"
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            // 自定義輸出不同的渠道配置
            applicationVariants.all { variant ->
                variant.outputs.each { output ->
                    def outputFile = output.outputFile
                    if (outputFile != null && outputFile.name.endsWith('.apk')) {
                        // 輸出apk名稱(chēng)為wooyun_v1.0_wandoujia.apk
                        def fileName = "${variant.productFlavors[0].name}_app_v${defaultConfig.versionName}.apk"
                        output.outputFile = new File(outputFile.parent, fileName)
                    }
                }
            }
        }
    }
    productFlavors{
//        xiaomi{
////            manifestPlaceholders = [UMENG_CHANNEL_VALUE : "xiaomi"]
//            //對(duì)不同的渠道進(jìn)行值替換
//            resValue("string","app_name","xiaomi")
//        }
//        wandoujia{
////            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"]
//            resValue("string","app_name","wandoujia")
//        }
//        baidu{
////            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu"]
//            resValue("string","app_name","baidu")
//        }

        //為不同功能的apk進(jìn)行打包測(cè)試抡锈,可以在同一手機(jī)上安裝同一應(yīng)用進(jìn)行不同功能的測(cè)試
        okhttp{
            applicationIdSuffix "okhttp"
            resValue "string","app_name","okHttp"
        }
        jpush{
            applicationIdSuffix "jpush"
            resValue "string","app_name","jpush"
        }
    }
    //通過(guò)gradle腳本語(yǔ)法統(tǒng)一設(shè)置不同的渠道
    productFlavors.all{
        flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.3.1'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    //添加友盟應(yīng)用統(tǒng)計(jì)支持
    compile 'com.umeng.analytics:analytics:latest.integration'
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市码倦,隨后出現(xiàn)的幾起案子掖看,更是在濱河造成了極大的恐慌纪蜒,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,820評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件抗碰,死亡現(xiàn)場(chǎng)離奇詭異擒抛,居然都是意外死亡推汽,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)歧沪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)歹撒,“玉大人,你說(shuō)我怎么就攤上這事诊胞∨玻” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,324評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵撵孤,是天一觀(guān)的道長(zhǎng)迈着。 經(jīng)常有香客問(wèn)我,道長(zhǎng)邪码,這世上最難降的妖魔是什么裕菠? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,714評(píng)論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮闭专,結(jié)果婚禮上奴潘,老公的妹妹穿的比我還像新娘。我一直安慰自己影钉,他們只是感情好画髓,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,724評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著平委,像睡著了一般奈虾。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,328評(píng)論 1 310
  • 那天愚墓,我揣著相機(jī)與錄音予权,去河邊找鬼。 笑死浪册,一個(gè)胖子當(dāng)著我的面吹牛扫腺,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播村象,決...
    沈念sama閱讀 40,897評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼笆环,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了厚者?” 一聲冷哼從身側(cè)響起躁劣,我...
    開(kāi)封第一講書(shū)人閱讀 39,804評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎库菲,沒(méi)想到半個(gè)月后账忘,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,345評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡熙宇,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,431評(píng)論 3 340
  • 正文 我和宋清朗相戀三年鳖擒,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片烫止。...
    茶點(diǎn)故事閱讀 40,561評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蒋荚,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出馆蠕,到底是詐尸還是另有隱情期升,我是刑警寧澤,帶...
    沈念sama閱讀 36,238評(píng)論 5 350
  • 正文 年R本政府宣布互躬,位于F島的核電站播赁,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏吨铸。R本人自食惡果不足惜行拢,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,928評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望诞吱。 院中可真熱鬧舟奠,春花似錦、人聲如沸房维。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,417評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)咙俩。三九已至耿戚,卻和暖如春湿故,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背膜蛔。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,528評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工坛猪, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人皂股。 一個(gè)月前我還...
    沈念sama閱讀 48,983評(píng)論 3 376
  • 正文 我出身青樓墅茉,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親呜呐。 傳聞我的和親對(duì)象是個(gè)殘疾皇子就斤,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,573評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容