0

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

この問題を解決するにはどうすればよいですか?

4

1 に答える 1