清单中的minSdk版本可防止Gradle与Android Studio 3.2同步

时间:2018-09-25 15:51:15

标签: android android-studio

  

不应在Android清单中声明minSdk版本   文件。您可以将版本从清单移动到defaultConfig   在build.gradle文件中。

如果您在清单中指定了minSdk版本,则从Android Studio 3.2开始,构建将失败。有没有办法忽略此警告并在出现此警告的情况下成功构建?

1 个答案:

答案 0 :(得分:1)

我在使用Android Make和Gradle构建的应用程序中遇到了同样的问题。在这种情况下,无法从清单文件中删除minSdk,因为Android Make将默认为API级别1。

要解决该问题,这里有些技巧。

sourceSets {
    main {
        manifest.srcFile getModifiedManifestFile()

...

def getModifiedManifestFile() {
    File originalManifest = file(new File("./", "src/main/AndroidManifest.xml"))
    String newFileContents = originalManifest.getText('UTF-8').replace("<uses-sdk\n" +
        "        android:minSdkVersion=\"26\"\n" +
        "        android:targetSdkVersion=\"28\" />", "")
    File tmpManifest = file(new File("./", "src/main/TempAndroidManifest.xml"))
    tmpManifest.write(newFileContents)
    tmpManifest.deleteOnExit()
    return tmpManifest
}

只需替换正则表达式,使其与您的文件匹配,同步就可以通过。还将临时文件添加到.gitignore文件中。

编辑:原始解决方案在OS temp文件夹中创建了该文件,但是Android Studio的“运行”配置不接受该文件-该文件必须位于项目目录中。