2016-03-10 10 views
11

Die docs behaupten, ein build.gradle funktioniert wie folgt:Wie lautet die richtige Projektkonfiguration für die N Developer Preview?

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

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

Das hat mir failed to find Build Tools revision 24.0.0 gibt, wenn für Gradle und Gradle 2,5 'com.android.tools.build:gradle:1.5.0' für die Android-Plugin. Wenn ich in meiner Android SDK-Installation in build-tools/ schaue, sehe ich 24.0.0-preview, nicht 24.0.0. Wenn ich jedoch meine build.gradle auf buildToolsVersion "24.0.0-preview" umstelle, bekomme ich Invalid revision: 24.0.0-preview.

Also, welche Kombination von build.gradle Werte funktioniert, um ein Projekt zum Kompilieren gegen das N Developer Preview SDK zu erstellen?

+0

ist Ihr Emulator läuft mit N-Bilder? Mine stürzt beim Start –

+0

Ich habe den x86 Emulator arbeiten (ich habe nicht versucht, die x86_64), obwohl ich mehr von meinem Test auf Hardware. – CommonsWare

+0

Warum würde jemand für Android N gehen, wie Google schon gesagt hat, dass es keine stabile Version ist, bis "Android N Beta" veröffentlicht. – Pankaj

Antwort

3

Basierend auf one of the sample apps, ich bin jetzt mit:

  • Gradle 2.10
  • 'com.android.tools.build:gradle:2.1.0-alpha1' für die Android-Plugin für Gradle (geht in Ihrer Top-Level-build.gradle Datei)
  • buildToolsVersion "24.0.0 rc1"

Dies scheint zu halten, auch mit Android Studio 1.5.1.

UPDATE:

android { 
    compileSdkVersion 24 
    buildToolsVersion "24.0.0" 

    defaultConfig { 
     minSdkVersion 24 
     targetSdkVersion 24 
    } 
} 
0

Basierend auf Sample project Sie

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 
    } 
} 
verwenden: Nun, da N Developer Preview 4 freigegeben wurde, können wir mit 24 anstelle von "N" und "android-N" starten
  • Android Studio 2.1 Vorschau
  • Verwenden gradle-2.10-all.zip
  • com.android.tools.build:gradle:2.1.0-alpha1 für die Android-Plugin für Gradle (geht in Ihrem Top-Level-build.gradle Datei)
  • buildToolsVersion "24.0.0 rc1"
  • Select N: Android API 23, N Vorschau (Vorschau). Es funktioniert für mich.
+0

Sie benötigen kein Android Studio 2.1. Außerdem scheint es keine '2.1.0-alpha9'-Version des Android-Plugins für Gradle zu geben. (Https://bintray.com/android/android-tools/com.android.tools.build.gradle/ Sicht), zumindest zu dieser Zeit. – CommonsWare

+0

@CommonsWare Sie benötigen Android Studio 2.1 zum Ausführen von N. Es ist eindeutig in diesem Link geschrieben https://developer.android.com/preview/setup-sdk.html –

+1

@VivekMishra: Ich sitze hier, mit Android Studio 1.5. 1, und ich bin perfekt in der Lage, Android N-Projekte auf einem Android N-Gerät zu laufen, vorausgesetzt, die Projektkonfiguration aus meiner Antwort. Android Studio 2.1 wird für die Unterstützung von Java 8 benötigt, falls Sie sich dafür entscheiden. – CommonsWare

0

Das Problem ist, dass Sie nicht MinSdkVersionless als "N" setzen können. wenn Sie eine kleinere Version, oder erhalten Fehler, oder gehen Sie nur +23 Geräte.

+0

Das ist nicht wahr. Ich habe 8 als min SDK: minSdkVersion 8 targetSdkVersion 'N' –

+0

Ich kann 17 machen, aber wenn ich versuche, den Emulator zu installieren, erhalten Fehler. 23+ nur sagen. dann kann es ein Fehler von Windows sein. –

+1

das ist nicht ganz richtig. Grundsätzlich können Sie jede Version für minSdkVersion verwenden, aber Sie benötigen immer noch ein "N" Gerät, um die App zu starten. –

3

Ich glaube, das Problem trat auf, weil buildToolsVersion 24.0.0 verwendet wurde.

Nach official set up guide, Verwendung:

compileSdkVersion 'android-N' 
    buildToolsVersion '24.0.0 rc1' 

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

Beachten Sie, dass minSdkVersion andere als ‚N‘ als gut funktioniert, aber du wirst ‚N‘ Gerät verwenden, haben Sie Ihre App sowieso laufen.

Gradel 2.4 funktioniert für mich. Sie müssen auch nicht 'com.android.tools.build:gradle:2.1.0-alpha1' verwenden, wie es in der Vorschau samples erwähnt wird. Mit classpath 'com.android.tools.build:gradle:1.5.0' funktioniert auch.

dependencies { 
    classpath 'com.android.tools.build:gradle:1.5.0' 
    ... 
} 

Vergessen Sie nicht das Java 8 JDK und JRE zu erhalten. Es ist erforderlich, damit es mit 'N' funktioniert, aber Sie können sourceCompatibility JavaVersion.VERSION_1_7 und targetCompatibility JavaVersion.VERSION_1_7 einstellen, wenn Sie keine Java 8-Funktionen verwenden.

Hinweis: Die Verwendung der neuen Java 8-Sprachenfunktionen ist keine Voraussetzung für die Entwicklung von Apps, die auf die Android N-Plattform ausgerichtet sind. Wenn Sie keinen Code mit Java 8-Sprachfeatures schreiben möchten, können Sie die Quell- und Zielkompatibilitätswerte Ihres Projekts auf Java 7 festlegen, müssen jedoch mit JDK 8 kompilieren, um sie gegen die Android N-Plattform zu erstellen.

Überprüfen Sie Java 8 Language Features für Details.

1

ich scheinen ziemlich gut mit dieser Konfiguration an einem neuen Projekt mit einem PixelC zu rollen:

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 
    } 

... 
} 
Verwandte Themen