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

What Is the Proper Project Configuration for the N Developer Preview?

文档声称 build.gradle 像这样工作:

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

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

'com.android.tools.build:gradle:1.5.0' 用于 Gradle 和 Gradle 2.5 的 Android 插件时,这给了我 failed to find Build Tools revision 24.0.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 进行编译?

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

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

基于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 插件 对于 Gradle(进入您的顶级 build.gradle 文件)
  • buildToolsVersion“24.0.0 rc1”
  • SelectN:AndroidAPI23、N预览(Preview)。 它对我有用。

问题是你不能把minSdkVersion设置得低于"N"。 如果你放一个较小的版本,或者收到错误,或者只去 +23 设备。

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

根据official set up guide,使用:

  compileSdkVersion 'android-N'
  buildToolsVersion '24.0.0 rc1'

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

请注意,'N' 以外的 minSdkVersion 也可以正常工作,但无论如何您都必须使用 'N' 设备才能 运行 您的应用程序。

Gradle 2.4 适合我。此外,您不必像预览 samples 中提到的那样使用 'com.android.tools.build:gradle:2.1.0-alpha1'。 使用 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

Note: Using the new Java 8 language features is not a requirement for developing apps that target the Android N platform. If you don't want to write code with Java 8 language features, you can keep your project's source and target compatibility values set to Java 7, but you still must compile with JDK 8 to build against the Android N platform.

查看 Java 8 Language Features 了解详情。

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

...
}