使用Gradle去构建多个包,每个包可以去对应不同的下载渠道,icon或者.so
适配平台的设置等。
先简单说一下Gradle android的配置
defaultConfig {
applicationId "com.xxx.xxx"
minSdkVersion 15
targetSdkVersion 25
//versionCode 每次更新都要升级,在GuideActivity中判断是否展示轮播图用到,每次只要没有与sp中记录的code值相等,就会展示
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled = true
ndk {
abiFilters "armeabi"
}
}
这个一个是全局的默认设置
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
这个多用来控制是否对apk签名,默认release,实际开发中,为了测试方便,通常加入
debug配置,这个谷歌一下,会有很多
接下来是重点了:
productFlavors{
xiaomi{
applicationId "com.xxx.xxx.xxx"
minSdkVersion 8
targetSdkVersion 23
versionCode 1
versionName "1.0.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled = true
ndk{
abiFilters "armeabi"
}
//这个是配置Application的,毕竟好多平台,有的平台需要圆角,有的不需要 app_name 自定义,在Application里使用引用符趋引用
manifestPlaceholders = [app_name:"项目名称",icon: "@mipmap/ic_launcher"]
}
}
在application中引用
<application
android:allowBackup="true"
android:icon="${app_name}"
android:label="${icon}"
android:supportsRtl="true"
android:name=".App"
android:theme="@style/AppThemeGuide"
>
嗯,至此,就可以去打包了,在打包的时候先择需要打包的平台