您的位置:首页 > 产品设计 > UI/UE

Android Stuido 实现多渠道打包

2015-12-05 16:57 316 查看
之前在这篇文章/article/7833528.html里涉及到根据不同的平台打包多个的问题,又在这篇文章/article/7833560.html里涉及到不同渠道的获取问题,所以想看看多渠道打包的问题!

由前两篇文章可以确定,多渠道打包的思路,使用productFlavors和meta-data,现在的关键问题是gradle脚本怎么给AndroidManifest.xml赋值?

找了半天,找到一个好的地方:http://blog.saymagic.cn/2015/04/18/build-gradle.html?utm_source=tuicool&utm_medium=referral感谢这位作者!使用manifestPlaceholders这个属性

文件配置AndroidManifest.xml:

<application ..>
<meta-data android:name="UMENG_CHANNEL" android:value="${app}" />
<application>


build.gradle文件配置:

apply plugin: 'com.android.application'
Properties properties=new Properties();
properties.load(project.rootProject.file("local.properties").newDataInputStream())
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"

defaultConfig {
applicationId "com.example.liubo.testapp"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
manifestPlaceholders = [app:  properties.getProperty("xiaomi")]

}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}

productFlavors {
xiaomi {
manifestPlaceholders = [app: properties.getProperty("xiaomi")]
}
baidu {
manifestPlaceholders = [app:  properties.getProperty("baidu")]
}
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
}


local.properties文件:

sdk.dir=D\:\\Java\\Android_SDK
xiaomi=xiaomikey
baidu=baidukey


以上文件配置,就只做了小米和百度升级的key,实现多渠道打包
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: