我正在构建一个必须使用Java 8库的应用程序。为了启用源兼容性,我在app的build.gradle中添加了以下内容:
compileSdkVersion 23
buildToolsVersion "25.0.0"
defaultConfig {
applicationId "SOME_APP"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
// enable Jack
jackOptions {
enabled true
}
}
//...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
在构建解决方案时,我遇到以下错误:
Error:com.android.sched.util.config.PropertyIdException: Property 'jack.import.type.policy' (in -D option): The value must be {keep-fırst,faıl} (case insensitive) but is 'keep-first'
Error:com.android.sched.util.codec.ParsingException: The value must be {keep-fırst,faıl} (case insensitive) but is 'keep-first'
正如您所看到的,此错误是由土耳其语İ i I ı
字符引起的。其他人得到了这个错误,这是issue ticket。此问题在未来版本中已标记为已解决,但由于项目的重要性,我不能等待此版本的发布。
问题单中有一个建议的解决方案:
我做的一个棘手的解决方案: 为gradle中的所有插孔相关任务创建运行配置(差不多9个),并使用-Duser.language = en
更新VM选项部件
我尝试通过编辑VM选项
来应用此功能并将-Duser.language=en
添加到studio.exe.vmoptions文件中。
不幸的是,这并没有解决问题,每当我尝试构建项目时,我都会遇到相同的错误。
答案 0 :(得分:1)
找到了一个有效的解决方案此行为是由Windows中的语言的非unicode程序设置引起的。我有土耳其语作为非unicode程序的语言。将其更改为英语后问题已解决。
[编辑]以下解决方案适用于在Windows上运行的Android Studio
要进行更改,请导航至“控制面板” - >地区和语言。单击“管理”选项卡。单击“更改系统区域设置”并选择“英语”。如有必要,请单击“应用”并重新启动。
答案 1 :(得分:0)