java - 如何解决 `jack.import.type.policy` 的区域设置问题?

标签 java java-8 android-gradle-plugin android-studio-2.2 android-jack-and-jill

我正在构建一个必须使用 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 。此问题已标记为在未来版本中解决,但由于项目的重要性,我等不及这个 future 版本了。

问题单中有建议的解决方案:

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

我尝试通过编辑虚拟机选项来应用此功能

enter image description here

并将-Duser.language=en添加到studio.exe.vmoptions文件中。

不幸的是,这并不能解决问题,每当我尝试构建项目时,我都会遇到同样的错误。

  • 我当前的配置正确吗?
  • 还有其他方法可以解决这个问题吗?

最佳答案

找到了可行的解决方案。此行为是由 Windows 中的非 unicode 程序的语言设置引起的。我使用土耳其语作为非 unicode 程序的语言。将其更改为英语后问题已解决。

[编辑]以下解决方案适用于 Windows 上运行的 Android Studio

要进行更改,请导航至“控制面板”->“区域和语言”。单击管理选项卡。单击更改系统区域设置并选择英语。单击“应用”,如有必要,请重新启动。

enter image description here

关于java - 如何解决 `jack.import.type.policy` 的区域设置问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40502419/

相关文章:

java - 使用 Java 8 流仅列出特定深度的文件夹

java排序问题

Java 8 流 - 超时?

react-native - 无法为 org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler 类型的对象获取未知属性 'enableHermes'

android - APK LICENSE 中复制的重复文件(同一文件)

java - Play 2框架如何每秒测量线程

java - JTree:加速从数据库检索的对象中绘制 1000 多个子节点?

java - 如何使用 java 8 将 Stream<Map<K,V>> 收集到 Map<K,List<V>> 中?

java 无法在我最近更新的 Windows 10 计算机上运行

android - Guava库重复录入错误