Какова правильная конфигурация проекта для N Developer Preview?
Документы утверждают, что build.gradle
работает следующим образом:
android {
compileSdkVersion 'android-N'
buildToolsVersion 24.0.0
...
defaultConfig {
minSdkVersion 'N'
targetSdkVersion 'N'
...
}
...
}
Это дает мне failed to find Build Tools revision 24.0.0
при использовании 'com.android.tools.build:gradle:1.5.0'
для Android Plugin для Gradle и Gradle 2.5.
Если я посмотрю build-tools/
в моей установке Android SDK, я вижу 24.0.0-preview
, а не 24.0.0
. Однако, если я переключу свой build.gradle
на использование buildToolsVersion "24.0.0-preview"
, я получаю Invalid revision: 24.0.0-preview
.
Итак, какая комбинация значений build.gradle
работает, чтобы собрать проект для компиляции с N Developer Preview SDK?
Ответы
Ответ 1
На основе одного из примеров приложений, я теперь использую:
- Gradle 2.10
-
'com.android.tools.build:gradle:2.1.0-alpha1'
для Android Plugin для Gradle (входит в ваш файл верхнего уровня build.gradle
)
-
buildToolsVersion "24.0.0 rc1"
Это, похоже, держится, в том числе и с Android Studio 1.5.1.
UPDATE. Теперь, когда N Developer Preview 4 был выпущен, мы можем начать использовать 24
вместо "N"
и "android-N"
:
android {
compileSdkVersion 24
buildToolsVersion "24.0.0"
defaultConfig {
minSdkVersion 24
targetSdkVersion 24
}
}
Ответ 2
Я считаю, что проблема возникла из-за использования buildToolsVersion 24.0.0
.
В соответствии с официальным руководством по настройке, используйте:
compileSdkVersion 'android-N'
buildToolsVersion '24.0.0 rc1'
defaultConfig {
minSdkVersion 'N'
targetSdkVersion 'N'
...
}
Обратите внимание, что minSdkVersion
кроме "N" также работает, но вам все равно придется использовать устройство "N" для запуска вашего приложения.
Gradle 2.4 работает для меня. Также вам не нужно использовать 'com.android.tools.build: gradle: 2.1.0-alpha1', как упоминается в предпросмотре samples.
Использование classpath 'com.android.tools.build:gradle:1.5.0'
также работает.
dependencies {
classpath 'com.android.tools.build:gradle:1.5.0'
...
}
Не забудьте получить Java 8 JDK и JRE. Требуется заставить его работать над "N" , но вы можете установить sourceCompatibility JavaVersion.VERSION_1_7
и targetCompatibility JavaVersion.VERSION_1_7
, если не используете функции Java 8.
Примечание. Использование новых функций языка Java 8 не является обязательным требованием для разработки приложений, ориентированных на платформу Android N. Если вы не хотите писать код с языковыми функциями Java 8, вы можете сохранить исходный код проекта и целевые значения совместимости, установленные для Java 7, но вы все равно должны скомпилировать JDK 8 для сборки против платформы Android N.
Подробнее о Java 8 Language Features.
Ответ 3
Кажется, я очень хорошо катаюсь с этой конфигурацией в новом проекте с PixelC:
android {
compileSdkVersion 'android-N'
buildToolsVersion '24.0.0 rc4'
lintOptions {
abortOnError false
}
defaultConfig {
minSdkVersion 'N'
targetSdkVersion 'N'
jackOptions {
enabled true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
...
}
Ответ 4
На основе Пример проекта вы должны использовать
android {
compileSdkVersion 'android-N'
buildToolsVersion '24.0.0 rc1'
defaultConfig {
applicationId "com.android.multiwindowplayground"
minSdkVersion 'N'
targetSdkVersion 'N'
....
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}
- Предварительный просмотр Android Studio 2.1
- Используйте gradle -2.10-all.zip
-
com.android.tools.build:gradle:2.1.0-alpha1
для Android-плагина
для Gradle (идет в файле build.gradle верхнего уровня)
- buildToolsVersion "24.0.0 rc1"
- Выберите N: Android API 23, N Preview (Предварительный просмотр).
Он работает для меня.
Ответ 5
Проблема заключается в том, что вы не можете поместить minSdkVersionless, чем "N".
если вы помещаете меньшую версию или получаете ошибку или используете только +23 устройства.