2016-09-21 3 views
4

До недавнего времени я использовал PhoneGap CLI 5.0 с Node 4.1 и Java 1.7. Для того, чтобы построить Android APK-я создал Моделировочную extras.gradle файл под платформой/андроид с содержаниемТелефонная связь CLI с Java 8

ext.postBuildExtras = { 
android { 
compileOptions { 
    sourceCompatibility JavaVersion.VERSION_1_7 
    targetCompatibility JavaVersion.VERSION_1_7 
} 
allprojects { 
    compileOptions { 
     sourceCompatibility = JavaVersion.VERSION_1_7 
     targetCompatibility = JavaVersion.VERSION_1_7 
    } 
} 

} 
} 

, что позволило мне собрать мои приложения с помощью Java 7. Первоначально я побежал в это с PhoneGap CLI 6.3.1 о неделю назад, но теперь обновлены до Phonegap CLI 6.3.3 с помощью Node 4.5 и Java 1.8. Тот же файл build-extras.gradle по-прежнему работает нормально. Тем не менее, я думал, что я хотел бы попробовать VERION_1_8 только дать сообщение об ошибке,

Error: Error code 1 for command: /path/to/app/platforms/android/gradlew 
with args: cdvBuildDebug,-b, /path/to/app/platforms/android/build.gradle, 
-Dorg.gradle.daemon=true,-Pandroid.useDeprecatedNdk=true 

Я первоначально переключился на Java 7, так как это позволило мне использовать try-with-resources. Я смею сказать, что Java 8 приносит несколько других полезных вещей - лучше обрабатывать время без использования Joda-времени и т. Д., Я подозреваю, что вполне может сделать новый переход стоящим. Однако эта ошибка оставляет меня в тупике. Я надеюсь, что кто-то здесь сможет рассказать мне, что происходит.


Следует отметить, что для хорошей меры Я попытался переключиться на версию 1_8 с недавно созданным проектом PhoneGap, phonegap create newprj --template=hello-world

+0

http://phonegap.com/blog/2016/08/03/cli-6_3-now-on-build/, но у вас есть 6.3.1 –

+0

@JoopEggen - я обновился до 6.3.3 несколько дней назад. Ничего не меняется - все та же ошибка. – DroidOS

ответ

1

Чтобы включить Java 8 в Android проектах, которые вы должны использовать новый Джек компилятор. Вот соответствующие изменения в build.gradle:

android { 
    ... 
    defaultConfig { 
    ... 
    jackOptions { 
     enabled true 
    } 
    } 
    compileOptions { 
    sourceCompatibility JavaVersion.VERSION_1_8 
    targetCompatibility JavaVersion.VERSION_1_8 
    } 
} 

Для получения дополнительной информации см original guide by Google.

Кроме того, дополнительно учтите, что компилятор Jack доступен начиная с версии Build Tools версии 21.1.1. Вам необходимо обновить их, по крайней мере, до этой версии, чтобы использовать их. См. Experimental New Android Tool Chain - Jack and Jill.

+0

андроид { ... defaultConfig { ... jackOptions { включен истинный } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }} –

+0

Спасибо, что мне по праву отслеживать здесь. В моем собственном окружении Phonegap CLI просто делать это недостаточно - он жалуется на то, что не знает jackOptions. Это потребует расследования ... – DroidOS

+0

Процитировано здесь https://sites.google.com/a/android.com/tools/tech-docs/jackandjill «Jack and Jill доступны в Build Tools версии 21.1.1 и более , через Менеджер SDK. " Итак, вы должны проверить, что ваши инструменты сборки обновлены. –

Смежные вопросы