android studio上的NDK构建错误

时间:2017-04-19 07:21:42

标签: android android-ndk

我是NDK的新手,所以我在构建以下项目时遇到错误:

Error:Execution failed for task ':app:transformNativeLibsWithStripDebugSymbolForDebug'.
java.io.IOException: Failed to delete E:\startUpCode\OpenCvDemo\NDKTest\app\build\intermediates\transforms\stripDebugSymbol\debug\folders\2000\1f\main\lib\mips

这是我的cpp代码

#include <com_nickworld_ndktest_NativeClass.h>


JNIEXPORT jstring JNICALL Java_com_nickworld_ndktest_NativeClass_getMessageFromJNI
    (JNIEnv *env, jclass obj){
return env->NewStringUTF("This is the message from JNI");

android.mk文件

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_SRC_FILES := com_nickworld_ndktest_NativeClass.cpp

LOCAL_LDLIBS += -llog
LOCAL_MODULE := MyLib


include $(BUILD_SHARED_LIBRARY)

Application.mk

APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -fexceptions
APP_ABI := armeabi-v7a
APP_PLATFORM := android-16

MainActivity.java

public class MainActivity extends AppCompatActivity {

static {
    System.loadLibrary("MyLibs");
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

((TextView) findViewById(R.id.txtView)).setText(NativeClass.getMessageFromJNI());
}
}

我需要帮助才能解决这个错误,而且我没有得到我在做错的地方。 感谢

3 个答案:

答案 0 :(得分:3)

尝试手动删除E:\startUpCode\OpenCvDemo\NDKTest\app\build\intermediates。然后再试一次。

答案 1 :(得分:1)

我已经遇到过这个问题,代码中没有问题 所以看看这一点

  1. 转到您的项目并检查是否创建了jnilibs或您在其中的任何名称 NDK_LIBS_OUT
  2. 检查您的app gradle文件中的任务ndkBuild 及其位置

  3. 清理您的项目,如果尚未创建

  4. ,请再次构建它

答案 2 :(得分:0)

我在项目中遇到了与NDK相同的问题,因为我有导入下载的项目。

我被困了一个星期才解决问题。然后我创建了新项目,并将库和所有文件添加到这个新项目中,并对项目进行了重建。

我成功建立了我的项目。