試した環境:Android Studio 2.1.3
#対処法
モジュール(Module: appなど)のbuild.gradleに、
lintOptions「disable 'MissingTranslation'」を設定する。
例:
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
lintOptions {
disable 'MissingTranslation'
}
}
}
※注意:必要なのは、lintOptions {}の部分です。
該当部分のみでは分かりにくいので、前後の部分も掲載してあります。
(proguardの設定は、デフォルト値から変えてあるので、設定が異なる場合は上書き注意。)
##補足1 abortOnErrorをfalseに設定するのはやめておきましょう。
現行バージョンで試した場合、abortOnErrorをfalseに設定した場合も、MissingTranslationのエラーで止まります。
逆に、abortOnErrorをtrueに(明示的に)設定した場合も、
disable 'MissingTranslation'が設定してあれば、ビルドが通ります。
##補足2 Android StudioのInspectionsの設定では、エラーを回避できません。
[設定項目]
File/ Settings...
Editor/ Inspections
"Android > Lint > Correctness > Messages"
Incomplete translation (available for ~)
Severity デフォルト:Error
SeverityをWarningにする。または、チェックボックスを外しても、Error Missing Translationでビルド(Build APK)が止まります。
##補足3
disable 'MissingTranslation'の「disable」を他の(lintのオプションには無い)単語にしてもビルドが通ることも・・・
おそらく、ただのバグ。(深刻なバグな気もしますが。)
##原因
ビルド(Build APK)時に、
Error: ~ is not translated in ~ [MissingTranslation]
などが出力され、lintVitalReleaseタスクが通らないため。
※エラーは、Gradle Consoleに表示されます。
(Messagesにもエラーが表示されますが、出力がかなり省略されているので、原因が分かりにくいです)
※Gradle Consoleに表示される対処法は、lintVitalReleaseタスク用のものなので注意。
##参考
[Android Studio Project Site - Suppressing Lint Warnings]
In Build File: With Gradle Configuration
http://tools.android.com/tips/lint/suppressing-lint-warnings
[Improve Your Code with Lint]
https://developer.android.com/studio/write/lint.html
※Android Studio Project Siteの方が、情報量が多いと思う。
※対処法の参考リンク
[Stackoverflow - How to sign APK on Android Studio even with non-translated strings?]
http://stackoverflow.com/questions/27472282/how-to-sign-apk-on-android-studio-even-with-non-translated-strings
※原因の参考リンク
[Android Open Source Project - Issue Tracker]
Issue 71343: Can't run project with missing translations (release build variant)
https://code.google.com/p/android/issues/detail?id=71343
・・・The fact that the build output includes the word "Error:" causes the output parser to believe there are errors・・・