1.修改app的build.gradle文件
//多平台apk
productFlavors {
aaqianfanyidong32{
dimension "default"
applicationId = "com.qianfanyidong.forum"
versionCode 23231
versionName "5.0.9"
signingConfig signingConfigs.aaqianfanyidong
minSdkVersion 21
ndk{
abiFilters 'armeabi-v7a'
}
}
aaqianfanyidong64{
dimension "default"
applicationId = "com.qianfanyidong.forum"
versionCode 23231
versionName "5.0.9"
signingConfig signingConfigs.aaqianfanyidong
minSdkVersion 21
ndk{
abiFilters 'armeabi-v8a'
}
}
}
复制代码
因我们项目比较特殊修改productFlavors下内容后,对应文件夹名称也需修改,否则build会找不到资源文件
完整代码如下:
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
android {
compileSdkVersion rootProject.compileSdkVersion
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
aaptOptions {
cruncherEnabled = false
}
defaultConfig {
minSdkVersion rootProject.minSdkVersion
targetSdkVersion rootProject.targetSdkVersion
multiDexEnabled = true
vectorDrawables.useSupportLibrary = true
}
//mark-sign
signingConfigs {
aaqianfanyidong {
keyAlias 'qianfan'
keyPassword '123456'
storePassword '123456'
storeFile file("qianfanyidong.jks")
}
}
//mark-sign
buildTypes {
release {
//指定签名为release
debuggable false
zipAlignEnabled true //是否zip优化
minifyEnabled true //是否开启混淆
useProguard true
shrinkResources false//此属性配合minifyEnabled混淆使用,删除一些无用资源
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
//mark-debug
debug {
debuggable true
versionNameSuffix "-debug"
zipAlignEnabled false //是否zip优化
minifyEnabled false //是否开启混淆
useProguard false
shrinkResources false //此属性配合minifyEnabled混淆使用,删除一些无用资源
//签名所用的配置文件
signingConfig signingConfigs.aaqianfanyidong
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
//mark-debug
}
lintOptions {
// 防止在发布的时候出现因MissingTranslation导致Build Failed!
abortOnError false
checkReleaseBuilds false
disable 'MissingTranslation'
}
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
dexOptions {
preDexLibraries = false
javaMaxHeapSize "6g"
}
flavorDimensions "default"
//mark-flavors
productFlavors {
aaqianfanyidong32{
dimension "default"
applicationId = "com.qianfanyidong.forum"
versionCode 23231
versionName "5.0.9"
signingConfig signingConfigs.aaqianfanyidong
minSdkVersion 21
//参考官网优化构建速度https://developer.android.com/studio/build/optimize-your-build
ndk{
abiFilters 'armeabi-v7a'
}
}
aaqianfanyidong64{
dimension "default"
applicationId = "com.qianfanyidong.forum"
versionCode 23231
versionName "5.0.9"
signingConfig signingConfigs.aaqianfanyidong
minSdkVersion 21
//参考官网优化构建速度https://developer.android.com/studio/build/optimize-your-build
ndk{
abiFilters 'armeabi-v8a'
}
}
}
//mark-flavors
dataBinding {
enabled = true
}
}
allprojects {
repositories {
jcenter()
}
}
repositories {
mavenCentral()
maven {
url "https://oss.sonatype.org/content/repositories/snapshots/"
}
maven {
url "https://jitpack.io"
}
flatDir {
dirs 'libs', '../hmspush/libs', '../gdtlib/libs', '../rongmedia/libs', '../tongdun/libs','../baidu/libs'
}
flatDir {
dirs "../${rootProject.ext.ccb_project_name}/src/main/lib"
}
}
buildscript {
repositories {
mavenCentral()
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'androidx.multidex:multidex:2.0.1'
...
}
复制代码
2.构建
3.分析
构建结束后可以分析下apk是不是正确的,可以使用Android studio中工具
然后选择目标apk看下lib文件夹下是不是对应32或64位的
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END