Я пытаюсь создать базовое приложение для Android, содержащее библиотеку NDK, созданную из исходного кода. При сборке я получаю следующую ошибку:
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
Целевой путь мне кажется странным. Makefile, созданный gradle, выглядит так:
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)
Я использую
- плагин gradle 0.9
- NDK r9d для Windows x64
Буду признателен за любую помощь. У меня есть некоторый опыт работы с инструментами сборки gradle и GNU, но я новичок в Android и NDK.
2 ответа
Как сказал Селвин, все должно быть в порядке, как только вы добавите еще один исходный файл. Даже пустой сделает свое дело.
Я заполнил отчет об ошибке с дополнительной информацией: https://code.google.com/p / android / issues / detail? id = 66937
Просто зайдите в Терминал и напишите
1: cd your_path_to \ src \ main \ jni
2: ndk-build
Похожие вопросы
Новые вопросы
android-ndk
Android Native Development Kit (NDK) - это сопутствующий инструмент для Android SDK, который позволяет создавать критически важные для приложений части приложений в собственном коде или переносить существующие библиотеки в C / C ++ на Android. Он предоставляет заголовки и библиотеки, которые позволяют создавать действия, обрабатывать пользовательский ввод, использовать аппаратные датчики, получать доступ к ресурсам приложений и многое другое при программировании на C / C ++.