如何解决 `jack.import.type.policy` 的区域设置问题?
How to resolve locale issue with `jack.import.type.policy`?
我正在构建一个 必须 使用 Java 8 个库的应用程序。为了启用源兼容性,我在应用程序的 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。此问题已标记为在未来版本中解决,但由于项目的重要性,我等不及这个未来版本了。
问题单中有建议的解决方案:
A tricky solution that i made:
Created run configurations for all jack related tasks in gradle (almost 9), and update VM Options part with -Duser.language=en
我试图通过编辑 VM 选项来应用它
并将 -Duser.language=en
添加到 studio.exe.vmoptions 文件。
不幸的是,这并没有解决问题,每当我尝试构建项目时都会遇到同样的错误。
- 我现在的配置对吗?
- 还有其他方法可以解决这个问题吗?
找到了可行的解决方案。此行为是由 Windows 中的 非 unicode 程序的语言 设置引起的。我有 Turkish 作为非 unicode 程序的语言。将其更改为 English 后问题已解决。
[编辑] 以下解决方案适用于 Android Studio 运行 on Windows
要更改,请导航至“控制面板”->“区域和语言”。单击管理选项卡。单击更改系统区域设置和 select 英语。如有必要,请单击应用并重新启动。
感谢@raidensan
更改计算机语言,问题解决。 (使用 Windows8)
- 控制面板 -> 语言 -> 添加语言 -> 英文
- 控制Panel\All控制面板Items\Language
我正在构建一个 必须 使用 Java 8 个库的应用程序。为了启用源兼容性,我在应用程序的 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。此问题已标记为在未来版本中解决,但由于项目的重要性,我等不及这个未来版本了。
问题单中有建议的解决方案:
A tricky solution that i made: Created run configurations for all jack related tasks in gradle (almost 9), and update VM Options part with -Duser.language=en
我试图通过编辑 VM 选项来应用它
并将 -Duser.language=en
添加到 studio.exe.vmoptions 文件。
不幸的是,这并没有解决问题,每当我尝试构建项目时都会遇到同样的错误。
- 我现在的配置对吗?
- 还有其他方法可以解决这个问题吗?
找到了可行的解决方案。此行为是由 Windows 中的 非 unicode 程序的语言 设置引起的。我有 Turkish 作为非 unicode 程序的语言。将其更改为 English 后问题已解决。
[编辑] 以下解决方案适用于 Android Studio 运行 on Windows
要更改,请导航至“控制面板”->“区域和语言”。单击管理选项卡。单击更改系统区域设置和 select 英语。如有必要,请单击应用并重新启动。
感谢@raidensan
更改计算机语言,问题解决。 (使用 Windows8)
- 控制面板 -> 语言 -> 添加语言 -> 英文
- 控制Panel\All控制面板Items\Language