N Developer Preview的正确项目配置是什么?

时间:2016-03-10 17:44:57

标签: android android-7.0-nougat

文档声称build.gradle就像这样有效:

android {
  compileSdkVersion 'android-N'
  buildToolsVersion 24.0.0
  ...

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

当我使用failed to find Build Tools revision 24.0.0作为Gradle和Gradle 2.5的Android插件时,这会给我'com.android.tools.build:gradle:1.5.0'

如果我在Android SDK安装中查看build-tools/,我会看到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进行编译?

5 个答案:

答案 0 :(得分:3)

基于one of the sample apps,我现在正在使用:

  • Gradle 2.10
  • 'com.android.tools.build:gradle:2.1.0-alpha1'适用于Gradle的Android插件(位于您的顶级build.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
    }
}

答案 1 :(得分:3)

我认为问题是因为使用了buildToolsVersion 24.0.0

根据official set up guide,使用:

  compileSdkVersion 'android-N'
  buildToolsVersion '24.0.0 rc1'

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

请注意除{N' N'以外的minSdkVersion同样有效,但你必须使用N' N' N' 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”上运行,但如果不使用Java 8功能,则可以设置sourceCompatibility JavaVersion.VERSION_1_7targetCompatibility JavaVersion.VERSION_1_7

  

注意:使用新的Java 8语言功能不是开发面向Android N平台的应用程序的必要条件。如果您不想编写具有Java 8语言功能的代码,则可以将项目的源和目标兼容性值设置为Java 7,但仍必须使用JDK 8进行编译以针对Android N进行构建平台。

查看Java 8 Language Features了解详情。

答案 2 :(得分:1)

在使用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
    }

...
}

答案 3 :(得分:0)

基于Sample project,你必须使用

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插件 for Gradle(进入顶级 build.gradle 文件)
  • buildToolsVersion“24.0.0 rc1”
  • 选择N:Android API 23,N预览(预览)。 它为我工作。

答案 4 :(得分:0)

问题是你不能把minSdkVersionless放在“N”之外。 如果您放置较小的版本,或收到错误,或只使用+23设备。