Ошибка при создании подписанного apk

Я попытался загрузить свой apk в google play и обнаружил сообщение об ошибке: "Вы загрузили отлаживаемый 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
      }
  }
  ...

Ответ 1

Я бы не порекомендовал выключить чешуйки, они там не просто так. Вместо этого проверьте, что такое ошибка, и исправьте ее.

Отчет об ошибке сохраняется в [app module]/build/reports/lint-results-yourBuildName-fatal.html. Вы можете открыть этот файл в браузере, чтобы прочитать об ошибках.

Было бы неплохо, если бы Gradle мог бы сделать его более понятным, где генерируется отчет об ошибке.

Ответ 2

У меня была эта проблема, и я работал над ней, добавляя

lintOptions { 

    checkReleaseBuilds false

}

в мой файл build.grade в разделе android{ }.

Ответ 3

если вы хотите узнать точную ошибку, перейдите по следующему пути в вашем проекте: /app/build/reports/lint-results-release-fatal.html(or.xml). Самый простой способ - если вы перейдете в xml файл, он покажет вам, что именно ошибка включает в себя его положение ошибки в вашем Java-классе или XML файле. Отключение чехлов - это не очень хорошая идея, они там по какой-то причине. Вместо этого перейдите к:

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

и исправить.

Ответ 4

Убедитесь, что вы определили все переводы во всех файлах string.xml

Ответ 5

В случае, если вы можете попытаться найти, где проблема, я нашел мой по следующему пути моего проекта: /app/build/reports/lint-results-release-fatal.html(or.xml).

Надеюсь это поможет!

Ответ 6

Я столкнулся с такой же проблемой при создании подписанного apk из студии android. Я просто немного изменяю изменения в файле build.gradle внутри android {}

lintOptions {
        checkReleaseBuilds false
        abortOnError false
    }

Ответ 7

***Try this***

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

Ответ 8

Вы можете найти больше информации, выбирая сборку на вкладке сборки Gradle: enter image description here

Ответ 9

Как найти подробности об ошибке

Anylyze → Проверять код

enter image description here

Тогда в результатах проверки вы увидите ошибку

enter image description here

В моем случае сборка не удалась из-за неразрешенной ссылки на Javadoc в Google IAP 😐

Ответ 10

Попробуйте эти 3 строки в файле app.gradle.

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
}

Ответ 11

Моя проблема заключалась в отсутствии перевода. У меня был файл settings.xml, который не был переведен, поскольку он не был нужен, поэтому мне пришлось добавить "translatable =" false "в строки:

Эта строка не требует перевода

Ответ 12

Моя проблема заключалась в отсутствии перевода. У меня был файл settings.xml, который не был переведен, поскольку он не был нужен, поэтому мне пришлось добавить "translatable =" false "в строки:

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

Ответ 13

Привет, ребята, это сработало для меня, я просто изменяю свои 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'
        }
    }

Ответ 14

Попробуйте ниже код

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

Ответ 15

Решите эту проблему Используя это в файле build.gradle(app) Внутри основного Android {inside}

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

Ответ 16

Windows → ссылки → Android-> проверка ошибок lint.

un tick Запустить полную ошибку.......

enter image description here

Ответ 17

Перейдите в 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
}

Ответ 18

Удалите это выражение из вашего манифеста в целом, Eclipse будет обрабатывать это для вас на лету.

Ответ 19

Вы должны добавить код в файл градиента уровня проекта для генерации перезаписи apk по ошибкам

Ответ 20

перезагрузка Android-студии работала в моем случае

Ответ 21

В моем случае проблема была связана с минимальным целевым уровнем API, который требуется Google Play. Было установлено менее 26.

Проблема исчезла, когда я установил минимальный целевой уровень API на 26.

Ответ 22

    lintOptions {
      checkReleaseBuilds false
      abortOnError false
    }

Приведенный выше код может решить проблему, проигнорировав ее, но это также может привести к сбою приложения.

Хороший ответ в следующей ссылке:

Ошибка при генерации подписанного apk

Ответ 23

Есть несколько проверок и противовесов, которые вы должны будете сделать, чтобы обойти эту ошибку.

Пожалуйста, проверьте мой ответ здесь: fooobar.com/questions/8597389/...

Ответ 24

Просто найдите причину ошибки и устраните ее.

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

Ответ 25

Если вы добавите в app.gradle под android {

lintOptions {

    quiet true
    abortOnError false
}

}

Он получит работу