NDK开发时配置以及编写难免会出现错误:以下是我在NDK配置以及编写是出现的错误 和解决方法
以下是log日志里的错误
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:compileDebugNdk'.
> com.android.ide.common.process.ProcessException: Error while executing process E:\tool\sdk\ndk-bundle\ndk-build.cmd
with arguments {NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=D:\Demo\NDK\NDemo\app\build\intermediates\ndk\debug\Android.mk
APP_PLATFORM=android-27 NDK_OUT=D:\Demo\NDK\NDemo\app\build\intermediates\ndk\debug\obj
NDK_LIBS_OUT=D:\Demo\NDK\NDemo\app\build\intermediates\ndk\debug\lib APP_ABI=armeabi-v7a,armeabi,x86}
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or
--debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 6s
意思不太懂,但是 E:\tool\sdk\ndk-bundle\ndk-build.cmd 这个不就是ndk-build的执行路径吗?
我觉的是在告诉我们ndk通过这个执行时出现了问题!但是这个是我在android studio 中下载的,不知道出现了什么问题,
于是我另寻它经,自己下载了一个ndk安装包,https://blog.youkuaiyun.com/qq_35352552/article/details/80902643 篇文章中有介绍下载的ndk如何安装。
安装完成之后在系统环境和android studio中配置好路径! 再次运行! 如果还是出现这种错误,那么可能是下面错误了。
如果我们新建的.c文件 那么我们的文件内容应该是
#include "com_ndk_ndemo_JniTest.h"
JNIEXPORT jstring JNICALL Java_com_ndk_ndemo_JniTest_getString
(JNIEnv *env, jclass jcl) {
return (*env)->NewStringUTF(env,"One of my .so files");
}
如果我们新建的.cpp文件 那么我们的文件内容应该是
#include "com_ndk_ndemo_JniTest.h"
JNIEXPORT jstring JNICALL Java_com_ndk_ndemo_JniTest_getString
(JNIEnv *env, jclass jcl) {
return env->NewStringUTF("One of my .so files");
}
有没有注意到不一样的地方,return返回的语法不一样。 这里注意一下