生成签名apk时出错

时间:2014-06-07 14:58:02

标签: java android gradle

我试图在google play上传我的apk并遇到错误消息:"您上传了一个可调试的APK。出于安全原因,您需要先禁用调试,然后才能在Google Play中发布。详细了解可调试APK。"

然后我在我的清单中写了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
      }
  }
  ...

27 个答案:

答案 0 :(得分:311)

我不建议关闭皮棉检查,他们是有原因的。相反,检查错误是什么并修复它。

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

如果Gradle能够更清楚地生成错误报告,那将会很好。

答案 1 :(得分:160)

我遇到了这个问题并通过添加

解决了这个问题
lintOptions { 

    checkReleaseBuilds false

}

build.grade部分的android{ }文件。

答案 2 :(得分:48)

如果要查找确切的错误,请转到项目中的以下路径:/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

并修复它。

答案 3 :(得分:46)

确保您定义了所有string.xml个文件

中的所有翻译

答案 4 :(得分:35)

如果您可能试图找到问题所在,我在项目的以下路径中找到了我的: /app/build/reports/lint-results-release-fatal.html (或.xml)。

希望这有帮助!

答案 5 :(得分:31)

从android studio创建签名的apk时遇到了同样的问题。我只是对 android {}

中的 build.gradle 文件稍作修改
lintOptions {
        checkReleaseBuilds false
        abortOnError false
    }

答案 6 :(得分:19)

***Try this***

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

答案 7 :(得分:14)

您可以从gradle构建标签中选择“组装”找到更多信息:enter image description here

答案 8 :(得分:9)

在app.gradle文件中尝试这3行。

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
}

答案 9 :(得分:7)

我的问题是缺少翻译。我有一个settings.xml,因为不需要它而没有被翻译,所以我不得不在字符串中添加“ translatable =“ false”:

此字符串不需要翻译

答案 10 :(得分:7)

如何查找错误详细信息

Anylyze->检查代码

enter image description here

然后在检查结果中您将看到一个错误

enter image description here

在我的情况下,由于Google IAP中无法解析的javadoc引用,构建失败

答案 11 :(得分:6)

我的问题是缺少翻译。我有一个settings.xml,因为不需要它而没有被翻译,所以我不得不在字符串中添加“ translatable =“ false”:

<string translatable="false" name="stringname">This string doesn't need translation</string>

答案 12 :(得分:5)

您好,这对我有用,我只是这样修改BuildType:

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'
        }
    }

答案 13 :(得分:4)

enter image description here

将此内容添加到android {}中 build.gradle(Module:App)

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
}

答案 14 :(得分:3)

尝试以下代码

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

答案 15 :(得分:3)

只需在这里找到错误原因并解决。

yourProject/app/build/reports/lint-results-release-fatal.xml

答案 16 :(得分:2)

Windows - &gt;参考 - &gt; Android-&gt; lint错误检查。

un tick运行完整错误.......

enter image description here

答案 17 :(得分:2)

解决此问题在build.gradle(应用程序)Android内部{内部}文件中使用此文件

  buildTypes {
        release {
            lintOptions {
                checkReleaseBuilds false
                abortOnError false
            }
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

答案 18 :(得分:2)

转到build.gradle(Module:app)

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
}

答案 19 :(得分:1)

不要禁用 lint 选项

检查 Lint 报告是否有错误和警告

路径:

<块引用>

YourAppProjectFolder\app\build\reports

解决所有错误和警告:)

答案 20 :(得分:1)

当我将Android Gradle Plugin Version更新为4.0.1并将Gradle version更新为6.1.1时,这个问题浮现了。

如果有人着急,只需将Gradle Plugin Version降级为3.6.3,将Gradle version降级为5.6.4。它对我有用。

答案 21 :(得分:1)

从清单中删除该语句,Eclipse将为您即时处理。

答案 22 :(得分:0)

processResources

上面的代码可以通过忽略它来解决问题,但也可能导致应用程序崩溃。

好的答案在以下链接中:

Error when generate signed apk

答案 23 :(得分:0)

就我而言,该问题与Google Play要求的最低目标API级别有关。设置为小于26。

当我将最低目标API级别设置为26时,问题消失了。

答案 24 :(得分:0)

正如许多人所建议的那样,尝试从源头上修复该错误总是更好的选择。检查皮棉生成的文件

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

读取文件,您将被引导至错误的来源。看看我的:该错误来自不适当的视图约束。

答案 25 :(得分:0)

您应该在项目级gradle文件中添加代码,以生成错误的apk覆盖

答案 26 :(得分:-1)

如果您在android下添加app.gradle {

lintOptions {

    quiet true
    abortOnError false
}

}

它将开始工作