0

我正在构建一个必须使用 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 ı字符引起的。其他人收到此错误,这是问题单。此问题已标记为在将来的版本中解决,但由于项目的重要性,我不能等待这个未来的版本。

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

我提出的一个棘手的解决方案:在 gradle(几乎 9 个)中为所有与 jack 相关的任务创建运行配置,并使用 -Duser.language=en 更新 VM 选项部分

我试图通过编辑 VM 选项来应用它

在此处输入图像描述

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

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

  • 我现在的配置对吗?
  • 还有其他方法可以解决这个问题吗?
4

2 回答 2

1

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

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

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

在此处输入图像描述

于 2016-11-10T07:21:51.003 回答
0

谢谢@raidensan

更改计算机语言,解决问题。(使用 Windows8)

  • Denetim Masası -> Dil -> Dil ekle ->ingilizce
  • 控制面板\所有控制面板项\语言

在此处输入图像描述

于 2017-06-23T08:55:39.427 回答