2017-04-19 70 views
8

我是新來的NDK,所以我得到錯誤,而建設以下項目:NDK建立自己的錯誤在Android工作室

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()); 
} 
} 

我需要幫助解決這個錯誤,我沒有得到我在哪裏做的錯誤。 謝謝

+0

您是否嘗試製作乾淨的版本? –

+0

是的,我已經乾淨構建已經 –

+0

你可以考慮更新你的android studio到最新版本,如果沒有,並使緩存失效並重新開始工作室。 – hcknl

回答

2

嘗試手動刪除E:\startUpCode\OpenCvDemo\NDKTest\app\build\intermediates。然後再試一次。

+0

我也試過這個,但仍然不能正常工作 –

+0

所以即使在刪除'build \ intermediates'之後你也會得到同樣的錯誤?或者你無法手動刪除。如果你刪除整個'build'目錄?讓我知道,如果它是相同的錯誤或不同的錯誤。 – Martin

+0

不解決它現在提供此錯誤錯誤:執行任務':app:ndkBuild'失敗。 >處理'命令'C:/Users/Admin/AppData/Local/Android/Sdk/ndk-bundle/ndk-build.cmd''以非零退出值2結束2 –

1

我已經面對這個問題並沒有在你的代碼沒有問題 所以檢查出這一點

  1. 去你的項目,並檢查它創建jnilibs或者你在你的格拉德爾NDK_LIBS_OUT把它命名爲
  2. 檢查任務ndkBuild在您的應用程序文件的gradle和它的位置

  3. 清理項目並構建它再次,如果它不創造尚未

+0

我也嘗試過這也但不工作:( –

0

我也面臨着關於NDK在我的項目,因爲我有進口下載項目同樣的問題。

我被困了一個星期來解決問題。然後,我創建了新項目,並將庫和所有文件添加到這個新項目中,並創建了項目。

我成功構建了我的項目。

+0

我會嘗試新的,但我沒有得到你我得到這個問題:( –

+0

這個錯誤是因爲你的項目沒有得到你的ndk庫的依賴項 –