Как решить проблему локали с помощью `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 ı
символы. Кто-то еще получил эту ошибку, и это билет на проблему. Эта проблема помечена для решения в будущем выпуске, но из-за важности проекта я не могу дождаться этого будущего выпуска.
В заявочном листе есть предлагаемое решение:
Хитрое решение, которое я сделал: создал настройки запуска для всех задач, связанных с jack, в gradle (почти 9) и обновил часть VM Options с помощью -Duser.language=en.
Я пытался применить это, редактируя параметры VM
и добавление -Duser.language=en
в файл studio.exe.vmoptions.
К сожалению, это не решает проблему, я получаю одни и те же ошибки всякий раз, когда я пытаюсь построить проект.
- Правильна ли моя текущая конфигурация?
- Есть ли другой способ решить эту проблему?
2 ответа
Нашел рабочее решение. Такое поведение вызвано языком настроек не-юникодных программ в Windows. У меня был турецкий как язык не-Unicode программ. После замены на английский вопрос решен.
[EDIT] Следующее решение действительно для Android Studio, работающей в Windows
Чтобы изменить, перейдите в Панель управления -> Регион и язык. Нажмите на административную вкладку. Нажмите на Изменить системный язык и выберите английский. Нажмите "Применить" и перезапустите, если необходимо.
Спасибо @raidensan
Сменить язык компьютера, решить проблему. (С помощью Windows8)
- Denetim Masası -> Dil -> Dil ekle -> ingilizce
- Панель управления \ Все элементы панели управления \ Язык