I am trying to create a basic Android application containing an NDK library created from source code. When creating, I get the following error:
gradlew assembleArm :myapp:compileArmDebugNdk make.exe: *** No rule to make target `C:\Projects\MyApp\myapp\build\ndk\arm\debug\obj/local/armeabi-v7a/objs-debug/process/C_\Projects\MyApp\myapp\src\main\jni', needed by `C:\Projects\MyApp\myapp\build\ndk\arm\debug\obj/local/armeabi-v7a/objs-debug/process/C_\Projects\MyApp\myapp\src\main\jni\process.o'. Stop. :myapp:compileArmDebugNdk FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':myapp:compileArmDebugNdk'. > com.android.ide.common.internal.LoggedErrorException: Failed to run command: C:\android-ndk-r9d\ndk-build.cmd NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=C:\Projects\MyApp\myapp\build\ndk\arm\debug\Android.mk APP_PLATFORM=android-18 NDK_OUT=C:\Projects\MyApp\myapp\build\ndk\arm\debug\obj NDK_LIBS_OUT=C:\Projects\MyApp\myapp\build\ndk\arm\debug\lib NDK_DEBUG=1 APP_STL=stlport_static APP_ABI=armeabi-v7a
The target path seems strange to me. The make file created with gradle looks like this:
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := process LOCAL_CFLAGS := -DANDROID_NDK LOCAL_SRC_FILES := \ C:\Projects\MyApp\myapp\src\main\jni\process.cpp \ LOCAL_C_INCLUDES += C:\Projects\MyApp\myapp\src\main\jni LOCAL_C_INCLUDES += C:\Projects\MyApp\myapp\src\arm\jni LOCAL_C_INCLUDES += C:\Projects\MyApp\myapp\src\debug\jni LOCAL_C_INCLUDES += C:\Projects\MyApp\myapp\src\armDebug\jni include $(BUILD_SHARED_LIBRARY)
I use
- gradle plugin 0.9
- NDK r9d for Windows x64
I would be grateful for any help. I have experience with gradle and GNU tools, but I am new to Android and NDK.
android-gradle android-ndk
Andrew Marshall
source share