我正在Google Play商店上载android应用程序包,但审核时出现64位需求错误。我的应用程序包完全基于Java / Kotlin,具有本机支持,因为某些第三方对此依赖。
我在gradle文件中包括了对所有体系结构armeabi-v7a
,arm64-v8a
,x86
,x86_64
的支持,还为abi启用了拆分。
我添加的分级配置:
apply plugin: "com.android.application"
apply plugin: "io.fabric"
apply plugin: 'com.google.gms.google-services'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
apply plugin: 'com.google.firebase.firebase-perf'
apply from: '../jacoco.gradle'
def appCenterKey = "\"XXXX\""
android {
signingConfigs {
release {
keyAlias 'XXXX'
keyPassword 'XXXX'
storeFile file('../buildconfig/XXXXX.jks')
storePassword 'XXXXX'
}
}
compileSdkVersion 28
defaultConfig {
applicationId "com.XXXXX.XXXX"
minSdkVersion 23
targetSdkVersion 28
versionCode 504
versionName "2.0.0"
multiDexEnabled true
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
ndk {
abiFilters "armeabi-v7a", "arm64-v8a","x86","x86_64"
}
}
buildTypes {
all {
buildConfigField "String", XXXXX,appCenterKey
}
debug {
applicationIdSuffix '.dev'
versionNameSuffix '-DEV'
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
testOptions {
execution 'ANDROIDX_TEST_ORCHESTRATOR'
animationsDisabled true
unitTests {
includeAndroidResources = true
returnDefaultValues = true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
bundle {
language {
enableSplit = true
}
density {
enableSplit = true
}
abi {
enableSplit = true
}
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.0.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'com.google.android.material:material:1.0.0'
implementation 'androidx.browser:browser:1.0.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation "junit:junit:4.12"
androidTestImplementation 'androidx.test:runner:1.2.0'
// Mockito
def mockitoVersion = "2.17.0"
testImplementation "org.mockito:mockito-core:$mockitoVersion"
androidTestImplementation "org.mockito:mockito-android:$mockitoVersion"
// App Center dependencies
def appCenterVersion = "1.4.0"
implementation "com.microsoft.appcenter:appcenter-analytics:$appCenterVersion"
implementation "com.microsoft.appcenter:appcenter-crashes:$appCenterVersion"
// GSON (https://github.com/google/gson)
implementation 'com.google.code.gson:gson:2.8.5'
implementation 'org.danilopianini:gson-extras:0.2.1'
// Picasso (http://square.github.io/picasso/)
implementation "com.squareup.picasso:picasso:2.71828"
implementation 'androidx.exifinterface:exifinterface:1.0.0'
// Google Play Services
def googlePlayVersion = "17.0.0"
implementation "com.google.android.gms:play-services-maps:$googlePlayVersion"
implementation "com.google.android.gms:play-services-location:$googlePlayVersion"
// AWS (Cognito, API Gateway, etc.)
def awsVersion = "2.14.2"
implementation("com.amazonaws:aws-android-sdk-auth-userpools:$awsVersion@aar") {
transitive = true
}
implementation("com.amazonaws:aws-android-sdk-mobile-client:$awsVersion@aar") {
transitive = true
}
implementation "com.amazonaws:aws-android-sdk-apigateway-core:$awsVersion"
implementation "com.amazonaws:aws-android-sdk-kinesis:$awsVersion"
// For amazon web hosted UI authorization
implementation("com.amazonaws:aws-android-sdk-cognitoauth:$awsVersion@aar") {
transitive = true
}
// Adapter Delegates (https://github.com/sockeqwe/AdapterDelegates)
implementation 'com.hannesdorfmann:adapterdelegates3:3.0.1'
implementation 'com.squareup.retrofit2:retrofit:2.5.0'
implementation 'com.squareup.retrofit2:converter-gson:2.5.0'
implementation 'com.squareup.okhttp3:logging-interceptor:3.10.0'
//Dagger 2
implementation 'com.google.dagger:dagger:2.16'
kapt "com.google.dagger:dagger-compiler:2.16"
//Permissions
def permissionsVersion = "3.3.1"
implementation("com.github.hotchemi:permissionsdispatcher:$permissionsVersion") {
exclude module: "support-v13"
}
kapt "com.github.hotchemi:permissionsdispatcher-processor:3.3.1"
// Braintree - (Suppressing Lint warning as the Braintree docs ask for dynamic version)
//noinspection GradleDynamicVersion
implementation 'com.braintreepayments.api:drop-in:3.7.0'
//Circular ImageView
implementation 'de.hdodenhof:circleimageview:2.2.0'
//Calligraphy
implementation 'io.github.inflationx:calligraphy3:3.0.0'
implementation 'io.github.inflationx:viewpump:1.0.0'
// Animated Gif
implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.16'
//Image Compressor
implementation 'id.zelory:compressor:2.1.0'
// Firebase
implementation "com.google.firebase:firebase-core:17.0.1"
implementation "com.google.firebase:firebase-perf:18.0.1"
implementation 'com.google.firebase:firebase-messaging:19.0.1'
implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
testImplementation 'com.nhaarman.mockitokotlin2:mockito-kotlin:2.0.0-RC2'
implementation 'com.airbnb.android:lottie:2.7.0'
// Google vision API for Face Detection
implementation 'com.google.android.gms:play-services-vision:18.0.0'
// Google wallet for Google Pay
implementation 'com.google.android.gms:play-services-wallet:17.0.0'
// TODO Enable below line for this error for compile time error : Dagger2 cannot access nullable. javax.annotation.Nullable not found
// implementation 'com.google.code.findbugs:jsr305:3.0.2'
// QR and Barcode
implementation 'com.google.zxing:core:3.3.3'
//Multidex
implementation 'com.android.support:multidex:1.0.3'
}
repositories {
mavenCentral()
}
在创建签名的应用捆绑包时,它会在分析器中显示其中的所有本机支持库(。armeabi-v7a
,arm64-v8a
,x86
,x86_64
下的.so文件在lib文件夹中。)
但是,当我将此捆绑包上载到Playstore时,它成功上载,但仅支持2个平台(32位),即armeabi-v7a
,x86。相反,它应该显示出对所有64位和32位平台的支持。
点击查看,它会向我显示错误消息
以下APK或应用捆绑包可用于64位设备,但它们只有32位本机代码。
即使我已经为32/64位本机代码添加了依赖性。
答案 0 :(得分:-1)
您可以验证添加此代码
defaultConfig {
....
renderscriptTargetApi 18
renderscriptSupportModeEnabled true
ndk.abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64', "armeabi"
}