web-dev-qa-db-fra.com

Comment configurer NDK avec Android Gradle plugin 0.7

Le nouveau plugin Android Gradle (0.7) semble inclure une nouvelle prise en charge du NDK, mais il est peu ou pas mentionné dans la documentation (la seule référence que j'ai trouvée est un test appelé ndkSanAngeles ).

Il semble que Gradle recherche le NDK, que j’ai inclus dans mon PATH. Cependant, la construction du projet échoue avec 

  • Qu'est ce qui ne s'est pas bien passé: L'exécution a échoué pour la tâche ': OGLTests: compileDefaultFlavorDebugNdk' . NDK non configuré

Comment puis-je configurer le NDK en dégradé?

Mon build.gradle actuel ressemble à ceci:

task nativeLibsToJar(type: Zip, description: 'create a jar with native libs') {
    destinationDir file("$buildDir/native-libs")
    baseName 'native-libs'
    extension 'jar'
    from fileTree(dir: 'src/main/libs', include: '**/*.so')
    from fileTree(dir: 'src/main/libs', include: '**/gdb*')
    into 'lib/'
}

tasks.withType(JavaCompile) {
    compileTask -> compileTask.dependsOn nativeLibsToJar
}

dependencies {
    compile fileTree(dir: "$buildDir/native-libs", include: '*.jar')
}

Android {
    compileSdkVersion 19
    buildToolsVersion '19.0.0'

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 19
        versionCode 1
        versionName "0.1"

    }
    buildTypes {
        release {
            runProguard false
        }
        debug {
           // jniDebugBuild true
            runProguard false
            debuggable true
        }
    }
    productFlavors {
        defaultFlavor {
            proguardFile 'proguard-rules.txt'
        }
    }
}

Merci.

48
user1906

Trouvé la réponse. Inclure le code ndk.dir=path/to/ndk dans le fichier local.properties a été efficace.

Mise à jour: Sur les dernières versions d'Android Studio, vous pouvez définir la valeur directement dans l'emplacement Structure du projet> SDK.

34
user1906

vous pouvez également définir la variable d'environnement Android_NDK_HOME

15
stefan.nsk

J'ai passé beaucoup de temps à configurer ndk dans build.gradle. J'ai un bon blog résoudre mon problème.

1
peacepassion

Comme indiqué précédemment, l'ajout de ndk.dir = dans local.properties aide. Il est intéressant de noter que local.properties remplace toute valeur définie pour la variable d’environnement Android_NDK_HOME, même si vous n’avez pas configuré ndk.dir dans local.properties . (au moins avec le grade Android plugin v 0.7.3).

Ceci est source de confusion car Android Studio peut écraser le fichier local.properties et ne semble pas fournir un moyen de configurer ndk.dir :(

0
groundloop

Le studio Android suggère d'inclure le chemin d'accès à ndk dans local.properties

0
Twinkle Mishra