2017-06-30 58 views
0

我不與本地庫整合到項目經驗豐富,並不能找到爲什麼我收到以下錯誤(如下)本地代碼生成Android Studio中失敗

JniJsEngine.cpp和其他cpp文件的原因存在於jni文件夾中。

(第一錯誤的幾行給出)

Error:Gradle: 
FAILURE: Build failed with an exception. 

* What went wrong: 
Execution failed for task ':libadblockplus- 
android:externalNativeBuildRelease'. 
> Build command failed. 
Error while executing process C:\androiddev\android-ndk-r15b\ndk-build.cmd 
with arguments {NDK_PROJECT_PATH=null 
APP_BUILD_SCRIPT=C:\abcd\libadblockplus-android\jni\Android.mk 
NDK_APPLICATION_MK=C:\abcd\libadblockplus-android\jni\Application.mk 
APP_ABI=x86 NDK_ALL_ABIS=x86 NDK_DEBUG=0 APP_PLATFORM=android-9 
NDK_OUT=C:/abcd/libadblockplus-android/build/intermediates/ndkBuild/release/obj 
NDK_LIBS_OUT=C:\abcd\libadblockplus- 
android\build\intermediates\ndkBuild\release\lib 
C:/abcd/libadblockplus- 
android/build/intermediates/ndkBuild/release/obj/local/x86/libadblockplus- 
jni.so} 
Android NDK: android-9 is unsupported. Using minimum supported version 
android-14.  
[x86] SharedLibrary : libadblockplus-jni.so 
C:/abcd/libadblockplus-android/jni/JniJsEngine.cpp:222: error: 
undefined reference to 
'AdblockPlus::JsEngine::NewValue(std::__ndk1::basic_string<char, 
std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&)' 
C:/abcd/libadblockplus-android/jni/JniJsEngine.cpp:186: error: 
undefined reference 'AdblockPlus::JsEngine::SetWebRequest(std::__ndk1::shared_ptr<AdblockPlus::WebR 
equest>)' 
C:/abcd/libadblockplus-android/jni/JniJsEngine.cpp:90: error: undefined 
reference to 
'AdblockPlus::JsEngine::Evaluate(std::__ndk1::basic_string<char, 
std::__ndk1::char_traits<char>, 
std::__ndk1::allocator<char> > const&, std::__ndk1::basic_string<char, 
std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> > const&)' 
... 
... 
... 
+0

最有可能的是,你的** Android.mk **爲模塊** adblockplus-jni **不鏈接包含** JsEngine **類的靜態庫。如果你發佈你的項目結構和** Android.mk **,它會更容易幫助你。 –

回答

0

的第一個錯誤 - NDK_PROJECT_PATH = NULL - 告訴你的gradle你找不到你的項目的根,所以它不能正確編譯。您需要設置根目錄 - 這取決於您用於構建NDK(NDK實驗性插件或更新的ndk-build內置支持)的方法。

很可能,您需要在您的gradle文件中設置jni.srcDirs。你可以看這裏:Can't build project with android-ndk and Android Studio

+0

'NDK_PROJECT_PATH = null'不是錯誤;這就是gradle插件如何啓動** ndk-build **這些天。 –

相關問題