转载来自:https://blog.csdn.net/k571039838k/article/details/82625295
转载来自:https://www.cnblogs.com/dingxiansen/p/9020278.html
1.友盟官方申请appkey;
2.申请好之后,在在AndroidManifest.xml中设置
<meta-data android:name="UMENG_APPKEY" android:value="5cebkkkd940xxxxxxxxxxxxx"/>
<meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" />
3.在build.gradle中配置:
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.lsntest0311"
minSdkVersion 15
targetSdkVersion 28
versionCode 1
versionName "1.0"
multiDexEnabled true
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
//umeng添加1
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "default_channel"]//添加一个默认渠道号
flavorDimensions "versionCode"
}
//umeng添加2
productFlavors {
default_channel {}
huawei {}
oppo {}
xiaomi {}
yiyongbao {}
vivo {}
_360 {}
}
//umeng添加3
productFlavors.all {
flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation 'junit:junit:4.12'
}
4.如果出现以下错误:


在上述build.gradle代码中“umeng添加1”添加flavorDimensions "versionCode"即可
5.使用gradlew assembleRelease 打生产包 ;gradlew assembleDebug 打测试包
//编译并打所有的release包(通常上正式渠道只需要release包,所以我们只打release包就可以了)
gradlew assembleRelease
//编译并打所有的debug包
gradlew assembleDebug
//查看gradlew版本
gradlew -v
//清空
gradlew clean
// 编译
gradlew build
6.使用gradlew assembleRelease 打生产包

7.打包好的apk位置:

|