Версия minSdk в манифесте препятствует синхронизации gradle с Android Studio 3.2 - PullRequest
0 голосов
/ 25 сентября 2018

Версия minSdk не должна быть объявлена ​​в файле манифеста Android.Вы можете переместить версию из манифеста в defaultConfig в файле build.gradle.

Если в манифесте указана версия minSdk, начиная с Android Studio 3.2 сборка завершится неудачно.Есть ли способ игнорировать это предупреждение и построить его успешно, несмотря на это предупреждение?

1 Ответ

0 голосов
/ 08 ноября 2018

У меня была такая же проблема с приложением, которое собирается с 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.

Редактировать : исходное решение создало файл во временной папке ОС, но конфигурации запуска Android Studio этого не принимают - файл нуждается внаходиться в каталоге проекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...