Windows で Android Studio 2.2.2 を使用してプロジェクトをクローンします。プロジェクトを実行するとエラーが発生します。
BuildConfing.java ファイルの不正なエスケープ文字
元の開発は、Linux ubutu で IntelliJ IDEA を使用した可能性があります。プロジェクトをクリーンアップして再構築しましたが、変更はありません。
エラーは次の行にあります
public static final String[] TRANSLATION_ARRAY = new String[] {"G:\Developer\AndroidStudioProjects\gpslogger\gpslogger\src\main\res\values","G:\Developer.......,....,....};
BuildConfig.java は自動生成されたファイルであり、編集しないでください。
なぜこれが起こるのですか?BuildConfig.java はどのように生成されますか?
アップデート
@Vijai、どうもありがとう。問題は build.gradle ファイルにあります。次のタスクは、不正なエスケープ文字を含む文字列を返します。
task buildTranslationArray << {
def foundLocales = new StringBuilder()
foundLocales.append("new String[]{")
fileTree("src/main/res").visit { FileVisitDetails details ->
if(details.file.path.endsWith("strings.xml")){
def languageCode = details.file.parent.tokenize('/').last().replaceAll('values-','').replaceAll('-r','-')
languageCode = (languageCode == "values") ? "en" : languageCode;
foundLocales.append("\"").append(languageCode).append("\"").append(",")
}
}
foundLocales.append("}")
//Don't forget to remove the trailing comma
def foundLocalesString = foundLocales.toString().replaceAll(',}','}')
android.defaultConfig.buildConfigField "String[]", "TRANSLATION_ARRAY", foundLocalesString
}
preBuild.dependsOn buildTranslationArray
この問題を解決するにはどうすればよいですか?