-2
我克隆使用project的Android 2.2.2工作室在Windows上,當我運行的項目有一個錯誤在BuildConfing.java文件非法轉義字符,Android的工作室
非法轉義字符
最初的開發可能會在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?
UPDATE
@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
我該如何解決這個問題?
是的,我知道更換的
\
所有情況下,我不得不更換的「\」所有實例「\\」。但問題是BuildConfig.java文件是自動生成**,我們應該**不編輯**文件,並且不能編輯它。 – Silhan52雖然這是真的,你**不應該編輯** BuildConfig.java,'TRANSLATION_ARRAY'來自build.gradle某處。所以這將是你必須逃離角色的位置。更新了答案 – Vijai