1、在项目中如果有用到多渠道打包我们可以用Android Studio 的 Gradle来管理一键打包。
我的项目配置: 友盟统计 在AndroidManifest.xml里面:
<!--友盟统计-->
<meta-data
android:name="UMENG_APPKEY"
android:value="55e957ece0f55a412200064a"></meta-data>
<meta-data
android:name="UMENG_CHANNEL"
android:value="${UMENG_CHANNEL_VALUE}" />
2、在项目build.gradle 中配置:贴上自己的Gradle 全部配置:
apply plugin: 'com.android.application'
buildscript {
repositories {
jcenter { url "http://jcenter.bintray.com/" }
// mavenCentral()
// mavenLocal()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.2.3'
}
}
allprojects {
repositories {
mavenCentral()
// mavenLocal()
}
}
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile 'com.android.support:support-v4:22.2.0'
compile 'com.android.support:recyclerview-v7:+'
compile 'com.android.support:multidex:1.0.0'
compile project(':ApacheHttpclient_4.3')
compile project(':FacebookSDK')
compile project(':google-play-services_lib')
compile project(':ijkmediaplayer')
compile project(':ijkmediaplayer-arm64-v8a')
compile project(':ijkmediaplayer-x86')
compile project(':ijkmediawidget')
compile project(':PulltorefreshLibrary')
compile project(':WeiboSDK')
compile project(':Librarymodule')
compile project(':PagerSlidingTab')
//for 65k method numbers limit
compile project(':PagerSlidingTab')
// compile files('libs/alipaySDK-20150818.jar')
// compile files('libs/mimicam.jar')
// compile files('libs/okhttp-2.5.0.jar')
// compile files('libs/mta-sdk-1.6.2.jar')
// compile files('libs/open_sdk_r5043.jar')
// compile files('libs/com.umeng.message.lib_v2.4.1.jar')
// compile files('libs/RennSDK-Android.jar')
// compile files('libs/libammsdk.jar')
compile files('libs/umeng-analytics-game-v5.5.3.0.jar')
compile files('libs/xUtils-2.6.14.jar')
compile files('libs/okhttp-2.5.0.jar')
}
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
lintOptions {
abortOnError false
}
defaultConfig {
minSdkVersion 17
targetSdkVersion 22
applicationId "tv.weilive.giraffe"
// Enabling multidex support. for 65k method numbers limit
multiDexEnabled = true;
}
signingConfigs {
release {
storeFile file("weilive.keystore")
storePassword "12677484"
keyAlias "weilive"
keyPassword "12677484"
}
}
//设置 debuggable
buildTypes {
release {
debuggable false
signingConfig signingConfigs.release
}
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
jni.srcDirs = []
jniLibs.srcDirs = ['libs']
java.srcDirs = ['src/main/java']
res.srcDirs = ['src/main/res']
assets.srcDirs = ['assets']
aidl.srcDirs = ['src/main/aidl']
}
release.setRoot('build-types/release')
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
dexOptions {
javaMaxHeapSize "4g"
}
//=======以下是一键打多渠道打包
productFlavors {
liantong_inow_yoyo {}
// baidu2_inow_yoyo {}
// baidu3_inow_yoyo {}
// baidu4_inow_yoyo {}
// suoping1_inow_yoyo {}
// suoping2_inow_yoyo {}
// suoping3_inow_yoyo {}
// suoping4_inow_yoyo {}
// suoping5_inow_yoyo {}
productFlavors.all { flavor ->
flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
}
}
project.ext {
compileSdkVersion = 22
buildToolsVersion = "22.0.1"
}
3、在Android Studio 的Terminal 中输入gradlew assembleRelease。
注意:如果不能执行gradlew assembleRelease。命令,请检测自己是不是已经下载了gradle.properties