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 ı文字が原因です。他の誰かがこのエラーを受け取りました。これがissue ticketです。この問題は将来のリリースで解決される予定ですが、プロジェクトの重要性のため、この将来のリリースが待ちきれません。

問題のチケットに推奨される解決策があります。

私が作ったトリッキーな解決策:gradle(ほぼ9)ですべてのジャック関連タスクの実行構成を作成し、-Duser.language = enでVMオプション部分を更新しました

VMオプションを編集してこれを適用しようとしました

ここに画像の説明を入力

-Duser.language=enstudio.exe.vmoptions ファイルに追加します。

残念ながら、これで問題は解決しません。プロジェクトをビルドしようとするたびに同じエラーが発生します。

  • 現在の構成は正しいですか?
  • これを解決する別の方法はありますか?
4

2 に答える 2

1

実用的な解決策を見つけました。この動作は、Windowsの非 Unicode プログラム設定の言語が原因で発生します。非ユニコードプログラムの言語としてトルコ語を使用しました。英語に変更した後、問題は解決しました。

[編集] 次の解決策は、Windows で実行されている Android Studio に有効です。

変更するには、[コントロール パネル] -> [地域と言語] に移動します。[管理] タブをクリックします。[システム ロケールの変更] をクリックし、[英語] を選択します。適用をクリックし、必要に応じて再起動します。

ここに画像の説明を入力

于 2016-11-10T07:21:51.003 に答える