Android Studio Gradle mit nativen libs Fehler
Sorry für mein Englisch...
Habe ich letzten android-studio (14 Juni 2013).
Create new Android project.
Hinzufügen .also Dateien /libs/armeabi
Bearbeiten zu bauen.gradle zu
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4'
}
}
apply plugin: 'android'
dependencies {
compile files('libs/android-support-v4.jar','libs/jcPKCS11.jar')
}
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 14
targetSdkVersion 16
}
}
task copyNativeLibs(type: Copy) {
from(new File(project(':JaCertTest').getProjectDir(), 'libs/armeabi')) { include '**/*.so' }
into new File(buildDir, 'native-libs')
}
tasks.withType(Compile) { compileTask -> compileTask.dependsOn copyNativeLibs }
clean.dependsOn 'cleanCopyNativeLibs'
tasks.withType(com.android.build.gradle.tasks.PackageApplication) { pkgTask ->
pkgTask.jniDir new File('build/native-libs')
}
Erhielt ich eine Fehlermeldung:
FEHLER: Build fehlgeschlagen ist, mit einer Ausnahme.
- Was falsch gelaufen ist:
Ein problem wurde gefunden mit der Konfiguration der Aufgabe ':JaCertTest:packageDebug'.Verzeichnis 'build\native-libs' angegeben für die Eigenschaft 'jniDir' existiert nicht.
Wie es korrekt ist zu schreiben, ein build-Skript?
- Ich habe meine Antwort in den unten genannten link stackoverflow.com/questions/20900814/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dieser wird passieren, wenn Ihr copyNativeLibs task schlägt fehl, um alle Dateien zu finden, und daher nicht die "build\native-libs" - Verzeichnis. Sind Sie sicher, dass es gibt .so dass die Dateien in Ihrem "libs/armeabi" - Verzeichnis?
Beachten Sie auch, dass Ihr Skript nicht kompilieren des nativen Codes. Sie immer noch müssen, tun, die sich durch die Ausführung ndk-build zu generieren .damit Bibliotheken.
Hier ist ein Beispiel, wie man das Skript kompilieren Sie Ihr native code. Beachten Sie, dass dies erfordert, dass ndk-build ist in Ihrem PFAD.
Versuchen, diese in Ihrem Aufbau.gradle:
Dann sollten Sie gut
Können Sie versuchen, diese: