我尝试在谷歌播放上上传我的apk,遇到了一个错误消息:“你上传了一个可调试的apk。出于安全原因,您需要在谷歌播放中发布调试之前禁用调试。了解更多关于可调试apk的信息。”

然后我在我的manifest中写了android:debuggable="false",然后再试一次。我遇到了同样的错误,所以我已经从我的模块中设置了构建变体,并尝试再次生成apk,但这一次,生成了这个错误:

Error:Gradle: Execution failed for task ':app:lintVitalRelease'.
Lint found fatal errors while assembling a release target.
  To proceed, either fix the issues identified by lint, or modify your build script as follows:
  ...
  android {
      lintOptions {
          checkReleaseBuilds false
          // Or, if you prefer, you can continue to check for errors in release builds,
          // but continue the build even when errors are found:
          abortOnError false
      }
  }
  ...

当前回答

如果你想找出确切的错误,请到项目中的以下路径:/app/build/reports/lint-results-release-fatal.html(或.xml)。最简单的方法是转到xml文件,它会准确地显示错误是什么,包括错误在java类或xml文件中的位置。关闭棉绒检查不是一个好主意,它们存在是有原因的。相反,你可以去:

    /app/build/reports/lint-results-release-fatal.html or 
    /app/build/reports/lint-results-release-fatal.xml

然后修复它。

在Kotlin是不同的。首先,你需要在build的Android部分设置以下代码。应用程序文件夹的分级。

     android {
          :
          lintOptions {
            baseline(file("lint-baseline.xml"))
          }
      }

然后从IDE (Analyze > Inspect Code)或从命令行运行lint,如下所示。

      $ ./gradlew lintDebug

...

输出会在app文件夹中打印lint-baseline.xml文件的位置,但有时也会在app/src文件夹中打印/app/lint-baseline.xml文件

其他回答

当我将Android Gradle插件版本更新到4.0.1和Gradle版本更新到6.1.1时,我遇到了这个问题。

如果有人赶时间,可以把Gradle插件版本降级到3.6.3,把Gradle版本降级到5.6.4。这对我很管用。

***Try this***

 buildTypes {
        release {
            lintOptions {
                disable 'MissingTranslation'
                checkReleaseBuilds false
                abortOnError false
            }
            minifyEnabled false
            signingConfig signingConfigs.release
        }
    }

从您的清单中完全删除该语句,Eclipse将为您动态地处理它。

正如许多人所建议的那样,从源头尝试并修复错误总是更好的。检查绒布生成文件

/app/build/reports/lint-results-release-fatal.html

阅读该文件,您将被引导到错误的来源。检查我的:错误来自不适当的视图约束。

我不建议关掉棉绒检查,它们的存在是有原因的。相反,检查错误是什么并修复它。

错误报告保存到[app module]/build/reports/lint-results-yourBuildName-fatal.html。您可以在浏览器中打开此文件以阅读有关错误的信息。

如果Gradle能让错误报告生成的位置更加清晰,那就太好了。