android多渠道打包(慕课笔记)
来源:互联网 发布:网络授权和用户授权 编辑:程序博客网 时间:2024/05/21 20:27
文章通过两种方式标记渠道:
1、修改strings.xml中的字段;
2、修改AndroidManifest.xml中<meta-data>的值;
三个步骤:
1、在strings.xml中的<string name="channel_flag">influx</string>(用gradle打包时要注释掉这句)和
AndroidManifest.xml中的<meta-dataandroid:value="${FLAG_VARIOUS_CHANNEL}"android:name="FLAG_CHANNEL"/>
;
2、在app module的build.gradle中添加脚本修改channel_flag跟FLAG_CHANNEL。
build.gradle中的代码
apply plugin: 'com.android.application'android { compileSdkVersion 23 buildToolsVersion "23.0.3" defaultConfig { applicationId "com.xxxxxxx.xxxxx" minSdkVersion 15 targetSdkVersion 23 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" manifestPlaceholders=[FLAG_VARIOUS_CHANNEL:"influx"] } signingConfigs{ myConfig{ storeFile file("./xxxx.jks") storePassword "xxxx" keyAlias "influx" keyPassword "influx" } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.myConfig /** * 把app-xiaomi-release.apk改成xiaomi.apk */ applicationVariants.all{ variant->variant.outputs.each{ output-> def outFile=output.outputFile if(outFile!=null && outFile.name.endsWith(".apk")){ def fileName="${variant.productFlavors[0].name}"+".apk" output.outputFile=new File(outFile.parent,fileName) } } } } } productFlavors{ xiaomi{ //一般写法// manifestPlaceholders=[FLAG_VARIOUS_CHANNEL:"xiaomi"] //更改strings.xml中的channel_flag为"xiaomi" resValue("string","channel_flag","xiaomi") //这里是关键 } baidu{// manifestPlaceholders=[FLAG_VARIOUS_CHANNEL:"baidu"] resValue("string","channel_flag","baidu") } yingyongbao{// manifestPlaceholders=[FLAG_VARIOUS_CHANNEL:"yingyongbao"] } //根据功能点打包,[生成的apk,包名后会追加"okhttp",但是代码中或得到的包名不变] okhttp{ applicationIdSuffix "okhttp" resValue("string","app_name","okhttp") } } productFlavors.all{ flavor->flavor.manifestPlaceholders=[FLAG_VARIOUS_CHANNEL: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:23.4.0' compile 'com.android.support:recyclerview-v7:23.4.0' testCompile 'junit:junit:4.12'}
./gradlew assembleRelease
./gradlew assembleDebug
0 0
- android多渠道打包(慕课笔记)
- Android学习笔记--多渠道打包
- android 多渠道打包(转)
- Android APK打包(多渠道)
- Android多渠道打包(一):基础多渠道打包
- Android多渠道打包(四):360多渠道打包
- Android多渠道打包(五):360多渠道打包+
- unity3d android多渠道打包(一)
- Android产品研发(五)-->多渠道打包
- Android多渠道打包(MFC版本)
- Android产品研发(五)-->多渠道打包
- Android 渠道包(多渠道打包)
- Android产品研发(五)-->多渠道打包
- Android多渠道打包(MFC版本)
- android 多渠道自动打包
- android apk多渠道打包
- Android多渠道打包APK
- android 多渠道打包
- 29. Divide Two Integers
- 正交调制与解调
- shiro试用记录-FormAuthenticationFilter
- JSP中的九大对象关系
- 机器学习--kNN算法
- android多渠道打包(慕课笔记)
- 1. 打开VS2010服务器资源管理器窗口,在数据连接中附加上数据库文件AdventureWorksDW2008。 2. 分页浏览DimEmployee表中数据。 3. 每页5条记录,字段自由选择。
- yii2复选框默认选择
- 正则表达式
- 第五节 生成微信二维码
- 数组与链表的区别
- mysql “group by ”与"order by"的研究
- MySQL语句
- iOS \'The sandbox is not sync with the Podfile.lock\'问题解决