Android N开发者预览版的正确项目配置是什么?

Android N开发者预览版的正确项目配置是什么?,android,android-7.0-nougat,Android,Android 7.0 Nougat,文档声称构建了一个build.gradle,如下所示: android { compileSdkVersion 'android-N' buildToolsVersion 24.0.0 ... defaultConfig { minSdkVersion 'N' targetSdkVersion 'N' ... } ... } 这让我在使用gradle和gradle 2.5的android插件的'com.android.Tools.Buil

文档声称构建了一个
build.gradle
,如下所示:

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

  defaultConfig {
     minSdkVersion 'N'
     targetSdkVersion 'N'
     ...
  }
  ...
}
这让我在使用gradle和gradle 2.5的android插件的
'com.android.Tools.Build:gradle:1.5.0'
时,找不到版本为24.0.0的构建工具

如果我在Android SDK安装中查看
buildtools/
,我会看到
24.0.0-preview
,而不是
24.0.0
。但是,如果我将我的
build.gradle
切换到使用
buildToolsVersion“24.0.0-preview”
,我会得到
无效版本:24.0.0-preview

那么,用什么组合的
build.gradle
值来构建一个项目来编译N Developer Preview SDK呢?

基于此,我现在使用:

  • 格拉德尔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开发者预览4已经发布,我们可以开始使用
24
代替
“N”
“android-N”

基于你必须使用的

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:AndroidAPI23,N预览(预览)。 这对我有用

问题是不能将MinsdkVersion设置为小于“N”。
如果您放置了较小的版本,或收到错误,或仅使用+23设备。

我认为问题是由于使用了
buildToolsVersion 24.0.0

根据,使用:

请注意,
minSdkVersion
除“N”之外的其他版本也可以运行,但无论如何,您都必须使用“N”设备来运行应用程序

Gradle 2.4适合我。此外,您不必像预览中提到的那样使用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'
     ...
 }
不要忘记获取Java8JDK和JRE。需要使其在“N”上工作,但如果不使用Java 8功能,则可以设置
sourceCompatibility JavaVersion.VERSION\u 1\u 7
targetCompatibility JavaVersion.VERSION\u 1\u 7

注意:开发针对Android N平台的应用程序时,不需要使用新的Java 8语言功能。如果您不想编写具有Java8语言特性的代码,可以将项目的源代码和目标代码的兼容性值设置为Java7,但您仍然必须使用JDK8进行编译,才能在Android N平台上构建


查看详细信息。

在一个新项目中,我似乎很好地使用了这个配置,使用了像素:

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 Studio 2.1。另外,至少在这个时候。@Commonware您需要Android Studio 2.1来运行N。这清楚地写在这个链接@VivekMishra:我坐在这里,使用Android Studio 1.5.1,我完全能够在Android N设备上运行Android N项目,从我的回答中可以看出项目配置。如果您选择使用Android Studio 2.1来支持Java 8,则需要使用Android Studio 2.1。@Commonware Android Studio2.1用于JDK 8。如果您想使用JDK 7,那么您可以使用Android studio 1.5+版本。我有带android Studio 2.1的JDK 8,你的模拟器运行N个图像吗?启动时地雷崩溃我让x86仿真器工作(我没有试过x86_64仿真器),虽然我在做更多的硬件测试。为什么有人会选择
Android N
,因为谷歌已经说过,除非
Android N beta
发布,否则它不是一个稳定的版本。@Clarivoyant:在开发者预览中测试你的应用程序是相当重要的。例如,当用户使用N的多窗口功能调整窗口大小时,您的应用程序可能会表现不佳。或者,新版本中可能有一些特定的东西需要您现在就开始开发,这样一旦N以最终形式发布,您就可以部署更新的应用程序(例如,范围目录访问,为您提供更好的可移动存储选项)。如果您想等待以后的开发人员预览,这是您的决定。但问题是您的操作系统可能无法正常工作,您可能会认为您的代码或配置不正确<代码>测试版版本将为您的操作系统提供稳定性<代码>预览版本主要用于测试新操作系统的设备。事实并非如此。我有8个as min SDK:minSdkVersion 8 targetSdkVersion'N'我可以做17个,但是当我尝试安装模拟器时收到错误。23+只说。那么这可能是windows的错误。这不太正确。基本上,你可以使用任何版本的minSdkVersion,但你仍然需要一个“N”设备来运行应用程序。
 dependencies {
     classpath 'com.android.tools.build:gradle:1.5.0'
     ...
 }
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
    }

...
}