Какова правильная конфигурация проекта для предварительного просмотра N Developer?

документы требовать 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 для 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 values работает для создания проекта для компиляции с помощью N Developer Preview SDK?

5 ответов


Я считаю, что проблема возникла из-за использования buildToolsVersion 24.0.0.

по данным официальное руководство по настройке использовать:

  compileSdkVersion 'android-N'
  buildToolsVersion '24.0.0 rc1'

  defaultConfig {
    minSdkVersion 'N'
    targetSdkVersion 'N'
    ...
  }

отметим, что minSdkVersion кроме "N" также работает, но вам все равно придется использовать " N " устройство для запуска вашего приложения.

ш 2.4 работает для меня. Также вам не нужно использовать ' com.андроид.инструменты.сборка: gradle: 2.1.0-alpha1' как указано в preview образцы. Используя 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 для сведения.


на основе один из примеров приложения, Я использую:

  • ш 2.10
  • 'com.android.tools.build:gradle:2.1.0-alpha1' для плагина Android для Gradle (входит в ваш верхний уровень )
  • buildToolsVersion "24.0.0 rc1"

это, кажется, держится, в том числе с Android Studio 1.5.1.

обновление: теперь, когда N Developer Preview 4 был выпущен, мы можем начать использовать 24 на месте "N" и "android-N":

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.0"

    defaultConfig {
        minSdkVersion 24
        targetSdkVersion 24
    }
}

Кажется, я неплохо катаюсь с этой конфигурацией в новом проекте с 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
    }

...
}

на основе пример проекта вы должны использовать

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 (идет в вашем верхнем уровне построить.Gradle в)
  • buildToolsVersion "24.0.0 rc1"
  • выберите N: Android API 23, N Preview (предварительный просмотр). Это работает на меня.

проблема в том, что вы не можете поставить minSdkVersionless, чем "N". если вы ставите меньшую версию, или получаете ошибку, или идете только +23 устройства.