Google Play 64位要求问题 [英] Google Play 64-bit requirement issue

查看:229
本文介绍了Google Play 64位要求问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在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-v7aarm64-v8ax86x86_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-v7aarm64-v8ax86x86_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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆