无法上传更新后的APK至Google Play商店。

15

这个问题在这里也有提到过,但是给出的答案对我没用。我之前上传过应用程序到商店,现在我无法更新我的应用程序以包含一些错误修复。每次当我尝试上传APK时,我都会收到以下错误信息:

上传失败

您上传了一个可调试的APK。出于安全原因,在发布到Google Play之前,您需要禁用调试。

我已经尝试将Android:debuggable="false"添加到我的清单文件中,但我仍然收到相同的消息。

我目前正在使用Android Studio生成我的签名APK。

编辑:这是我的AndroidManifest.xml

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.aventuracctv.aventurafibercalculator"
        android:versionCode="3"
        android:versionName="1.2"
        android:debuggable="false">

        <uses-sdk
            android:minSdkVersion="7"
            android:targetSdkVersion="18" />

        <application
            android:allowBackup="true"
            android:icon="@drawable/app_icon"
            android:label="Fiber Calculator"
            android:theme="@style/AppTheme">

            <activity
                android:name="com.aventuracctv.aventurafibercalculator.MainActivity"
                android:label="@string/app_name" >

                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />

                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>
    </manifest>

可能是重复的问题:无法将新的APK文件上传到Android Play商店 - Ben Weiss
1
另外,请发布您的AndroidManifest.xml。 - Ben Weiss
抱歉,这是给你的。 - patrickSmith
请发布您的 build.gradle 文件。 - Gabriele Mariotti
7个回答

27

看起来现在你需要明确设置 android:debuggable=false。(至少在 Android Studio 0.3.6 中是这样。)

Debuggableapplication 标签的一个属性。(不是 manifest 标签。)

<application
            android:debuggable="false"

... more attributes

如果您已正确添加了此属性,但 Google Play 仍然拒绝您的 APK,请尝试修改 build.gradle 文件以为调试设置自己的密钥。

signingConfigs {
    debug {
        storeFile file("my-keystore-file.jks")
        storePassword "my-password"
        keyAlias "my-alias"
        keyPassword "my-password"
    }
}

2
谢谢!我以为我已经在应用程序标签中尝试过了,但我猜没有,它刚刚通过了。 - patrickSmith
3
请使用构建变量 = Release(而不是 Debug)。 - Gabriele Mariotti
@user3396638:AndroidManifest.xml在Eclipse项目中是相同的。因此,请在那里进行相同的编辑。您可能没有build.gradle文件,所以只需忽略该部分即可。 - SharkAlley

5
假设您正在使用Android Studio中的“Build> Generate Signed APK”,并且假设您正在使用Gradle,那么现在您将需要配置Gradle来签署您的apk。原因是Android Studio中的按钮不会运行“gradle assembleRelease”,这会使您的apk无法进行调试。
单击“Generate Signed APK”时,请按照弹出的说明进行操作。
对于基于Gradle的项目,签名配置应在Gradle构建脚本中指定。请按照用户指南中描述的方式配置您的签名配置:http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Signing-Configurations 然后,运行“gradle assembleRelease”,您将在build/apk/目录中找到您的APK文件。
希望Google修复Android Studio中的“Generate Signed APK”按钮或将Play商店恢复为允许调试APK,直到他们修复Gradle / Android Studio问题。

3
如果你使用的是Android Studio,只需要设置构建变体即可。具体步骤如下:
1. 点击Flow,选择Build Variants
2. 在From Build variant中选择release mode
3. 将模式设置为release而非debug
请注意:这样做可以保障你在谷歌应用商店上的APK安全性。
如果你不使用Android Studio,则需要在manifest文件的application标签中设置android:debuggable="false"即可解决问题。感谢阅读,欢迎评论。

0

Google Play不会接受您的.apk文件的调试版本。您只能上传编译为发布版本的.apk文件。此外,它必须使用您的Android开发人员密钥进行签名,在同一步骤中完成,至少如果您正在使用Eclipse。

请确保分发已签名的发布版本.apk文件,如此处所述:

http://developer.android.com/tools/publishing/app-signing.html#releasecompile


0

我认为,你需要将它设置为“false”以禁用调试。


0

-1
在 build.gradle(Module:app) 文件中将 debuggable 设置为 false。
    buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    debug {
        debuggable false
    }
}

那又如何帮助解决问题呢? - GhostCat

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接