2015-09-07 8 views
7

Il mio progetto utilizza l'NDK di Android e sto riscontrando l'errore sopra riportato durante la creazione.Errore: esecuzione fallita per task 'ndkBuild'. > Elabora il comando 'Android sdk ndk-bundle/ndk-build.cmd' 'terminato con valore di uscita diverso da zero 2

  • ho installato l'ultima versione di Java, Android NDK e Android SDK
  • Utilizzo di Windows 8 e Android Studio Ho aggiunto SDK e NDK in local.properties

ndk.dir=C\:\\Users\\Jang\\AppData\\Local\\Android\\sdk\\ndk-bundle 
sdk.dir=C\:\\Users\\Jang\\AppData\\Local\\Android\\sdk 

Questo è il mio build.gradle:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 21 
    buildToolsVersion "23.0.0" 

    defaultConfig { 
     applicationId "uk.digitalsquid.netspoofer" 
     minSdkVersion 10 
     targetSdkVersion 21 
    } 

    buildTypes { 
     release { 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 
     } 
    } 

    sourceSets.main.jni.srcDirs = [] 
} 

dependencies { 
    compile 'com.android.support:support-v4:23.0.0' 
    compile 'com.google.android.gms:play-services:7.8.0' 
    compile 'org.jsoup:jsoup:1.8.3' 
    compile project(':androidsupportv4preferencefragment') 
} 

tasks.withType(JavaCompile) { 
    compileTask -> compileTask.dependsOn ndkLibsToJar, ndkBinariesToJar, ndkBinariesToJar16, ndkDataToJar 
} 

task ndkLibsToJar(type: Zip, dependsOn: 'ndkBuild', description: 'Create a JAR of the native libs') { 
    destinationDir new File(buildDir, 'libs') 
    baseName 'ndk-libs' 
    extension 'jar' 
    from(new File(buildDir, 'libs')) { 
     include '**/*.so' 
    } 
    into 'lib/' 
} 


task ndkBinariesToJar(type: Zip, dependsOn: 'ndkBuild', description: 'Create a JAR of the native binaries') { 
    destinationDir new File(buildDir, 'libs') 
    baseName 'ndk-binaries' 
    extension 'jar' 
    from(new File(buildDir, 'libs')) { 
     include '**/arp-scan' 
     include '**/arpspoof' 
     include '**/iptables' 
    } 
    into 'assets/binaries/android-9' 
} 

task ndkBinariesToJar16(type: Zip, dependsOn: 'ndkBuild16', description: 'Create a JAR of the native binaries for Android 16+') { 
    destinationDir new File(buildDir, 'libs') 
    baseName 'ndk-binaries-16' 
    extension 'jar' 
    from(new File(buildDir, 'android-16/libs')) { 
     include '**/arp-scan' 
     include '**/arpspoof' 
     include '**/iptables' 
    } 
    into 'assets/binaries/android-16' 
} 


task ndkDataToJar(type: Zip, dependsOn: 'ndkBuild', description: 'Create a JAR of the native data') { 
    destinationDir new File(buildDir, 'libs') 
    baseName 'ndk-data' 
    extension 'jar' 
    from(new File('src/main/jni/arp-scan')) { 
     include '**/ieee-iab.txt' 
     include '**/ieee-oui.txt' 
     include '**/mac-vendor.txt' 
    } 
    into 'assets/data/' 
} 


task ndkBuild(type: Exec, description: 'Compile JNI source via NDK') { 
    def ndkDir = project.plugins.findPlugin('com.android.application').sdkHandler.getNdkFolder() 
    println(ndkDir) 
    commandLine "$ndkDir/ndk-build.cmd", 
      'NDK_PROJECT_PATH=build', 
      'APP_BUILD_SCRIPT=src/main/jni/Android.mk', 
      'NDK_APPLICATION_MK=src/main/jni/Application.mk', 
      '-j1' 
} 

task ndkBuild16(type: Exec, description: 'Compile JNI source via NDK for Android 16+') { 
    def ndkDir = project.plugins.findPlugin('com.android.application').sdkHandler.getNdkFolder() 
    println(ndkDir) 
    commandLine "$ndkDir/ndk-build.cmd", 
      'NDK_PROJECT_PATH=build/android-16', 
      'APP_BUILD_SCRIPT=src/main/jni/Android.mk', 
      'NDK_APPLICATION_MK=src/main/jni/Application-16.mk', 
      '-j1' 
} 

Si tratta di costruire registro:

Information:Gradle tasks [:androidnetspoof:assembleDebug] 
C:\Users\Jang\AppData\Local\Android\sdk\ndk-bundle 
C:\Users\Jang\AppData\Local\Android\sdk\ndk-bundle 
:androidnetspoof:preBuild 
:androidsupportv4preferencefragment:compileLint UP-TO-DATE 
:androidnetspoof:preDebugBuild 
:androidsupportv4preferencefragment:copyReleaseLint UP-TO-DATE 
:androidnetspoof:checkDebugManifest UP-TO-DATE 
:androidsupportv4preferencefragment:preBuild 
:androidnetspoof:preReleaseBuild UP-TO-DATE 
:androidsupportv4preferencefragment:preBuild UP-TO-DATE 
:androidsupportv4preferencefragment:preReleaseBuild 
:androidnetspoof:generateDebugBuildConfig UP-TO-DATE 
:androidsupportv4preferencefragment:checkReleaseManifest 
:androidsupportv4preferencefragment:preDebugAndroidTestBuild UP-TO-DATE 
:androidsupportv4preferencefragment:preDebugBuild UP-TO-DATE 
:androidsupportv4preferencefragment:preDebugUnitTestBuild UP-TO-DATE 
:androidsupportv4preferencefragment:preReleaseUnitTestBuild UP-TO-DATE 
:androidsupportv4preferencefragment:prepareComAndroidSupportSupportV42300Library UP-TO-DATE 
:androidnetspoof:generateDebugAssets UP-TO-DATE 
:androidnetspoof:generateDebugResValues UP-TO-DATE 
:androidsupportv4preferencefragment:preReleaseBuild UP-TO-DATE 
:androidsupportv4preferencefragment:prepareReleaseDependencies 
:androidnetspoof:ndkBuild 
:androidsupportv4preferencefragment:compileReleaseAidl UP-TO-DATE 
:androidsupportv4preferencefragment:compileReleaseRenderscript UP-TO-DATE 
:androidsupportv4preferencefragment:generateReleaseBuildConfig UP-TO-DATE 
:androidsupportv4preferencefragment:generateReleaseAssets UP-TO-DATE 
:androidsupportv4preferencefragment:mergeReleaseAssets UP-TO-DATE 
:androidsupportv4preferencefragment:generateReleaseResValues UP-TO-DATE 
:androidsupportv4preferencefragment:generateReleaseResources UP-TO-DATE 
:androidsupportv4preferencefragment:mergeReleaseResources UP-TO-DATE 
:androidsupportv4preferencefragment:processReleaseManifest UP-TO-DATE 
:androidsupportv4preferencefragment:processReleaseResources UP-TO-DATE 
:androidsupportv4preferencefragment:generateReleaseSources UP-TO-DATE 
:androidsupportv4preferencefragment:processReleaseJavaRes UP-TO-DATE 
:androidsupportv4preferencefragment:compileReleaseJavaWithJavac UP-TO-DATE 
:androidsupportv4preferencefragment:extractReleaseAnnotations UP-TO-DATE 
:androidsupportv4preferencefragment:mergeReleaseProguardFiles UP-TO-DATE 
:androidsupportv4preferencefragment:packageReleaseJar UP-TO-DATE 
:androidsupportv4preferencefragment:compileReleaseNdk UP-TO-DATE 
:androidsupportv4preferencefragment:packageReleaseJniLibs UP-TO-DATE 
:androidsupportv4preferencefragment:packageReleaseLocalJar UP-TO-DATE 
:androidsupportv4preferencefragment:packageReleaseRenderscript UP-TO-DATE 
:androidsupportv4preferencefragment:packageReleaseResources UP-TO-DATE 
:androidsupportv4preferencefragment:bundleRelease UP-TO-DATE 
process_begin: CreateProcess(NULL, realpath obj, ...) failed. 
process_begin: CreateProcess(NULL, realpath obj, ...) failed. 
Warning:warning: overriding commands for target `/extensions/gen_initext.c' 
Warning:warning: ignoring old commands for target `/extensions/gen_initext.c' 
process_begin: CreateProcess(NULL, realpath obj, ...) failed. 
Warning:warning: overriding commands for target `/extensions/gen_initext.c' 
Warning:warning: ignoring old commands for target `/extensions/gen_initext.c' 
process_begin: CreateProcess(NULL, realpath obj, ...) failed. 
Warning:warning: overriding commands for target `/extensions/gen_initext.c' 
Warning:warning: ignoring old commands for target `/extensions/gen_initext.c' 
C:\Users\Jang\AppData\Local\Android\sdk\ndk-bundle\build\core\build-binary.mk 
Warning:(464) warning: overriding commands for target `build/obj/local/armeabi/objs/ext/extensions/libipt_standard.o' 
Warning:(464) warning: ignoring old commands for target `build/obj/local/armeabi/objs/ext/extensions/libipt_standard.o' 
Warning:(464) warning: overriding commands for target `build/obj/local/armeabi-v7a/objs/ext/extensions/libipt_standard.o' 
Warning:(464) warning: ignoring old commands for target `build/obj/local/armeabi-v7a/objs/ext/extensions/libipt_standard.o' 
Warning:(464) warning: overriding commands for target `build/obj/local/mips/objs/ext/extensions/libipt_standard.o' 
Warning:(464) warning: ignoring old commands for target `build/obj/local/mips/objs/ext/extensions/libipt_standard.o' 
Warning:(464) warning: overriding commands for target `build/obj/local/x86/objs/ext/extensions/libipt_standard.o' 
Warning:(464) warning: ignoring old commands for target `build/obj/local/x86/objs/ext/extensions/libipt_standard.o' 
[armeabi] Install  : arp-scan => libs/armeabi/arp-scan 
[armeabi] Install  : arpspoof => libs/armeabi/arpspoof 
mkdir -p /extensions/ 
The syntax of the command is incorrect. 
make.exe: *** [/extensions/gen_initext.c] Error 1 
:androidsupportv4preferencefragment:prepareReleaseDependencies FAILED 
Error:Execution failed for task ':androidnetspoof:ndkBuild'. 
> Process 'command 'C:\Users\Jang\AppData\Local\Android\sdk\ndk-bundle/ndk-build.cmd'' finished with non-zero exit value 2 
+0

Hai provato a creare manualmente la parte ndk ?. Inoltre puoi pubblicare le tue local.properties? –

+0

Questo è il link del progetto: https://github.com/w-shackleton/android-netspoof – thefriend

+0

'mkdir -p/extensions/ La sintassi del comando non è corretta. Se questo mkdir tenta di creare una cartella nel tuo'/'allora potrebbe non avere i permessi appropriati. Forse questa applicazione per funzionare ha bisogno di un accesso root? –

risposta

1
  • Assicurarsi anche aggiungere il contenuto di this repository per jni/arp-scan/arp-scan
  • Assicuratevi anche di aggiungere il contenuto di this repository per jni/iptables/custom-android-iptables

Se non funziona, cambiare la bandiera del ndkBuild compito commandLine a -j1 per assicurarsi che non costruisce in parallelo:

commandLine "$ndkDir/ndk-build.cmd", 
     'NDK_PROJECT_PATH=build', 
     'APP_BUILD_SCRIPT=src/main/jni/Android.mk', 
     'NDK_APPLICATION_MK=src/main/jni/Application.mk', 
     '-j1' 

Modifica dopo la pubblicazione del log di compilazione

Questo errore si verifica perché nel file make-custom-android-iptabes/Android.mk c'è uno script che viene eseguito mkdir -p /extensions/ e che è UNIX basato mentre, presumo, y Stai cercando di costruire da Windows che è DOS basato.

Quello che dovete fare è quello di tradurre questi script basati su UNIX in DOS basato, ad esempio, in questo caso, mkdir \extenstions\

+0

Ho fatto tutto sopra ma questo errore esiste.Quando provo a compilare manualmente la parte ndk, ho prolem: make.exe ha smesso di funzionare. – thefriend

+0

Mmm, è strano. Ho già realizzato il progetto con successo. Mente postando l'intero file build.gradle e l'intero log di compilazione? –

+0

Controlla la modifica –

0

Impostazione variabile di ambiente NDK_TOOLCHAIN_VERSION a 4.9 può risolvere il problema

enter image description here

Problemi correlati