我的Android应用仅支持arm64-v8a和armeabi-v7a。但是,由于其中一个依赖项,我在apk的lib文件夹中看到以下内容:
arm64-v8a
armeabi
armeabi-v7a
mips
x86
x86_64
这是我的 的的build.gradle:
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
repositories {
maven { url 'https://maven.fabric.io/public' }
}
android {
compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION)
buildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION
defaultConfig {
applicationId "com.mycompany.myapp"
minSdkVersion Integer.parseInt(project.ANDROID_BUILD_MIN_SDK_VERSION)
targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION)
versionCode Integer.parseInt(project.VERSION_CODE)
versionName project.VERSION_NAME
multiDexEnabled true
}
dexOptions {
javaMaxHeapSize "4g"
}
buildTypes {
release {
minifyEnabled true
shrinkResources true // https://developer.android.com/topic/performance/reduce-apk-size.html
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:24.0.0'
compile 'com.android.support:design:24.0.0'
compile 'com.android.support:support-v4:24.0.0'
}
// Must follow the above play-services compile directives
apply plugin: 'com.google.gms.google-services'
如何使用Android Studio在build.gradle中指定支持的体系结构?
答案 0 :(得分:8)
将此添加到build.gradle
ndk {
abiFilters "armeabi-v7a", "arm64-v8a"
}
答案 1 :(得分:1)
要添加更多细节,您有两个选择: 1.在app build.gradle文件中,为buildType指定abiFilters:
buildTypes {
debug {
ndk {
abiFilters "x86", "armeabi-v7a", "armeabi"
//abiFilters ABI_FILTERS
}
}
}
gradle.settings:
ABI_FILTERS=armeabi-v7a;x86
app build.gradle:
buildTypes{
ndk {
abiFilters = []
abiFilters.addAll(ABI_FILTERS.split(';').collect{it as String})
}
}