Google Play 64位要求问题 [英] Google Play 64-bit requirement issue
问题描述
我正在Google Play商店上载android应用程序捆绑包,但审核时出现64位需求错误.我的应用程序捆绑包完全基于Java/Kotlin,具有本机支持,因为某些第三方对此依赖.
I am uploading android app bundle on Google Play Store but getting 64-bit requirement error on review.My app bundle is completely Java/Kotlin based with native support as some third party has dependency on it.
我在gradle文件中包括了对所有体系结构armeabi-v7a
,arm64-v8a
,x86
,x86_64
的支持,还为abi启用了拆分.
I have included the support for all architecture armeabi-v7a
, arm64-v8a
,x86
,x86_64
in gradle file also enabled split for the 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()
}
在创建签名的应用捆绑包时,在分析器中它会显示其中的所有本机支持库(lib文件夹中armeabi-v7a
,arm64-v8a
,x86
,x86_64
下的.so文件).
While creating a signed app bundle, in the analyzer it shows all the native support library in it(.so file under armeabi-v7a
, arm64-v8a
,x86
,x86_64
in lib folder).
但是当我将此捆绑包上载到Playstore时,它成功上载,但显示仅支持2个平台(32位),即armeabi-v7a
,x86.相反,它应该显示出对所有64位和32位平台的支持.
But when I upload this bundle to playstore it uploads successfully but shows support for only 2 platforms(32-bit) which is armeabi-v7a
, x86. Instead it should have shown support for all platform both 64 and 32 bit.
点击查看,它会向我显示错误消息
On click of review it shows me error message
以下APK或应用捆绑包可用于64位设备,但它们只有32位本机代码.
The following APKs or App Bundles are available to 64-bit devices, but they only have 32-bit native code.
即使我已经为32/64位本机代码添加了依赖性.
Even though I have added dependency for both 32/64 bit native code.
推荐答案
您可以验证添加此代码
defaultConfig {
....
renderscriptTargetApi 18
renderscriptSupportModeEnabled true
ndk.abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64', "armeabi"
}
defaultConfig {
....
renderscriptTargetApi 18
renderscriptSupportModeEnabled true
ndk.abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64', "armeabi"
}
这篇关于Google Play 64位要求问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!