我尝试在谷歌播放上上传我的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文件
这对我来说很管用,我只是像这样修改了我的BuildTypes:
buildTypes {
release {
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
}
}
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}