に失敗する私はプロジェクトにネイティブライブラリを統合すると経験していない、と私は、次のエラー(下記の)ネイティブコードのビルドは、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&)'
...
...
...
おそらく、あなたのAndroidMk **モジュール** adblockplus-jni **は、** JsEngine **クラスを含む静的ライブラリをリンクしません。プロジェクト構造と** Android.mk **を投稿すると、より簡単に手助けすることができます。 –