我正在构建一个必须使用 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 文件。
不幸的是,这并不能解决问题,每当我尝试构建项目时都会遇到相同的错误。
- 我现在的配置对吗?
- 还有其他方法可以解决这个问题吗?