我在 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
我该如何解决这个问题?