Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
清单中的minSdk版本阻止与Android Studio 3.2进行梯度同步_Android_Android Studio - Fatal编程技术网

清单中的minSdk版本阻止与Android Studio 3.2进行梯度同步

清单中的minSdk版本阻止与Android Studio 3.2进行梯度同步,android,android-studio,Android,Android Studio,不应在android清单中声明minSdk版本 文件您可以将版本从清单移动到defaultConfig 在build.gradle文件中 如果在清单中指定了minSdk版本,则从Android Studio 3.2开始,构建将失败。有没有一种方法可以忽略此警告并成功构建此警告?我在使用Android Make和Gradle构建的应用程序中遇到了同样的问题。在这种情况下,从清单文件中删除minSdk是不可能的,因为Android Make将默认为API级别1 这里有一个小技巧来解决这个问题 sou

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


如果在清单中指定了minSdk版本,则从Android Studio 3.2开始,构建将失败。有没有一种方法可以忽略此警告并成功构建此警告?

我在使用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
}
sourceset{
主要{
manifest.srcFile getModifiedManifestFile()
...
def getModifiedManifestFile(){
File originalManifest=File(新文件(“./”,“src/main/AndroidManifest.xml”))
字符串newFileContents=originalManifest.getText('UTF-8')。替换(“,”)
文件tmpManifest=File(新文件(“./”,“src/main/TempAndroidManifest.xml”))
tmpManifest.write(新文件内容)
tmpManifest.deleteOnExit()
返回tmpManifest
}
只需替换正则表达式,使其与您的文件匹配,同步就应该通过。还要将临时文件添加到.gitignore文件中


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

为什么不将其放在build.gradle中,它应该在哪里?如果将minSDK版本从清单移动到b,则不会出现问题gradlet如果您仍然希望使用其他生成系统,请单击此处。