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.
I have included the support for all architecture armeabi-v7a
, arm64-v8a
, x86
, x86_64
in gradle file also enabled split for the abi.
Gradle config I have added:
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()
}
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).
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
The following APKs or App Bundles are available to 64-bit devices, but they only have 32-bit native code.
Even though I have added dependency for both 32/64 bit native code.
Did you get any luck for fix this issue, i have the same problem, i have armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64', "armeabi" in my APK but when i upload it i get the same error message.
Any help would really appreciated
Thanks for your reply Ahmed,
This is my code below for the past 3 nights i have been researching and trying to fix this issue but unsuccessful. I can see i have 32 bit and 64 bit in my APK file but Google still doesn't accept my APK.
Here is Google Play properties https://ibb.co/j66wn4S
buildscript {
repositories {
maven { url 'https://plugins.gradle.org/m2/' }
}
dependencies {
classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:0.12.1'
}
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
repositories {
maven { url 'https://maven.google.com' }
}
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
buildToolsVersion '28.0.3'
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
defaultConfig {
applicationId "com.application.name"
minSdkVersion 22
targetSdkVersion 28
versionCode 74
versionName "3.1"
ndk.abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64', "armeabi"
renderscriptTargetApi 16
renderscriptSupportModeEnabled true
multiDexEnabled true
manifestPlaceholders = [onesignal_app_id : "393938b0-6a12-4c4b-ade4-fa22c11840b6",
// Project number pulled from dashboard, local value is ignored.
onesignal_google_project_number: "REMOTE"]
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
dexOptions {
javaMaxHeapSize "4g"
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:customtabs:28.0.0'
implementation 'com.android.support:animated-vector-drawable:28.0.0'
implementation 'com.android.support:support-media-compat:28.0.0'
implementation 'com.android.support:design:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.android.support:support-v4:28.0.0'
implementation 'com.android.support:cardview-v7:28.0.0'
implementation 'com.mcxiaoke.volley:library-aar:1.0.0'
implementation 'com.google.code.gson:gson:2.8.5'
implementation 'com.google.firebase:firebase-ads:17.1.3'
implementation 'com.github.kanytu:android-parallax-listview:v1.1'
implementation 'com.koushikdutta.ion:ion:2.2.1'
implementation 'de.hdodenhof:circleimageview:2.2.0'
implementation 'jp.wasabeef:blurry:2.1.1'
implementation 'com.onesignal:OneSignal:3.10.6'
implementation 'com.squareup.picasso:picasso:2.5.2'
implementation 'com.android.support:multidex:1.0.3'
implementation 'com.irozon.sneaker:sneaker:1.0.1'
implementation 'com.github.bumptech.glide:glide:4.8.0'
implementation 'com.android.support:support-v4:28.0.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'
implementation 'com.daimajia.easing:library:2.0@aar'
implementation 'com.daimajia.androidanimations:library:2.3@aar'
implementation 'org.greenrobot:eventbus:3.1.1'
implementation 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
implementation 'com.google.android.exoplayer:exoplayer:2.8.4'
implementation 'pl.bclogic:pulsator4droid:1.0.3'
implementation 'com.github.yehiahd:FastSave-Android:1.0.6'
implementation 'de.mrmaffen:vlc-android-sdk:2.0.6'
implementation 'com.devbrackets.android:exomedia:4.3.0'
testImplementation 'junit:junit:4.12'
implementation 'com.jaeger.statusbarutil:library:1.5.1'
}
repositories {
mavenCentral()
maven {
url "https://jitpack.io"
}
flatDir {
dirs 'libx'
}
}
apply plugin: 'com.google.gms.google-services'
您可以验证添加此代码
defaultConfig { .... renderscriptTargetApi 18 renderscriptSupportModeEnabled true ndk.abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64', "armeabi" }
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.