Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error:Execution failed for task 'ndkBuild'. > Process 'command 'Android\sdk\ndk-bundle/ndk-build.cmd'' finished with non-zero exit value 2

My project uses the Android NDK and i am getting the above error when i build.

  • I installed the latest Java version, Android NDK and Android SDK
  • Using Windows 8 and Android Studio I have added SDK and NDK in local.properties

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

This is my 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'
}

This is build log:

    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
like image 367
thefriend Avatar asked Sep 07 '15 13:09

thefriend


1 Answers

  • Make sure too add the contents of this repository to jni/arp-scan/arp-scan
  • Also make sure to add the contents of this repository to jni/iptables/custom-android-iptables

If it doesn't work, change the flag of ndkBuild task commandLine to -j1 to make sure it does not build in parallel:

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'

Edit after posting the build log

This error happens because in the makefile custom-android-iptabes/Android.mk there is a script that executes mkdir -p /extensions/ and that is UNIX based while, I assume, you are trying to build from Windows who is DOS based.

What you need to do is to translate those UNIX based scripts into DOS based, for example, in this case, mkdir \extenstions\

like image 141
Daniel Cardenas Avatar answered Oct 21 '22 13:10

Daniel Cardenas