简体   繁体   English

Google Play 64位要求问题

[英]Google Play 64-bit requirement issue

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. 我正在Google Play商店上载android应用程序捆绑包,但审核时收到64位需求错误。我的应用程序捆绑包完全基于Java / Kotlin,具有本机支持,因为某些第三方对此依赖。

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文件中包括了对所有体系结构armeabi-v7aarm64-v8ax86x86_64的支持,还为abi启用了拆分。

Gradle config I have added: 我添加的Gradle配置:

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). 在创建签名的应用程序捆绑包时,它会在分析器中显示其中的所有本机支持库(lib文件夹中armeabi-v7aarm64-v8ax86x86_64下的.so文件)。

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. 但是,当我将此捆绑包上载到playstore时,它成功上载,但显示仅支持2个平台(32位),即armeabi-v7a和x86。 Instead it should have shown support for all platform both 64 and 32 bit. 相反,它应该显示出对所有64位和32位平台的支持。

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. 以下APK或应用捆绑包可用于64位设备,但它们只有32位本机代码。

Even though I have added dependency for both 32/64 bit native code. 即使我已经为32/64位本机代码添加了依赖性。

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. 您是否有运气解决此问题,我遇到了同样的问题,我的APK中有armeabi-v7a','arm64-v8a','x86','x86_64',“ armeabi”,但是当我上传时,我得到了相同的错误消息。

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. 这是我过去3夜一直在研究并尝试解决此问题但未成功的代码。 I can see i have 32 bit and 64 bit in my APK file but Google still doesn't accept my APK. 我可以看到我的APK文件中有32位和64位,但是Google仍然不接受我的APK。

Here is Google Play properties https://ibb.co/j66wn4S 这是Google Play属性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" }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM