Google Play 64位要求问题

时间:2019-08-13 04:09:33

标签: android android-studio kotlin google-play android-app-bundle

我正在Google Play商店上载android应用程序包,但审核时出现64位需求错误。我的应用程序包完全基于Java / Kotlin,具有本机支持,因为某些第三方对此依赖。

我在gradle文件中包括了对所有体系结构armeabi-v7aarm64-v8ax86x86_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-v7aarm64-v8ax86x86_64下的.so文件在lib文件夹中。)

但是,当我将此捆绑包上载到Playstore时,它成功上载,但仅支持2个平台(32位),即armeabi-v7a,x86。相反,它应该显示出对所有64位和32位平台的支持。

点击查看,它会向我显示错误消息

  

以下APK或应用捆绑包可用于64位设备,但它们只有32位本机代码。

即使我已经为32/64位本机代码添加了依赖性。

1 个答案:

答案 0 :(得分:-1)

您可以验证添加此代码

defaultConfig { .... renderscriptTargetApi 18 renderscriptSupportModeEnabled true ndk.abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64', "armeabi" }