AndroidRuntime寻找NDK,因此文件路径错误

时间:2020-02-10 10:07:38

标签: android android-ndk

我正在使用JNI c ++文件以加密格式存储字符串。

以下是我的CMakelists.txt:

npx distize --no-files -o {targetpath}

来自我名为CallStateService.java的类:

cmake_minimum_required(VERSION 3.4.1)

add_library ( native-lib SHARED native-lib.cpp boot-lib.cpp call-lib.cpp state-lib.cpp cap- 
lib.cpp manage-lib.cpp on-lib.cpp service-lib.cpp network-lib.cpp )
find_library ( log-lib log )
target_link_libraries( native-lib ${log-lib} )

我正在加载static { System.loadLibrary("state-lib"); } 库,并且加载得很好。项目清理得很好。项目重建良好。

通过模拟器运行它时,它会崩溃:

state-lib

我的关注点是:

  • 根据02-10 15:12:11.848 3433-3433/? E/AndroidRuntime: FATAL EXCEPTION: main Process: com.mycompany.app.myapp, PID: 3433 java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.mycompany.app.myapp-1/base.apk"],nativeLibraryDirectories=[/data/app/com.mycompany.app.myapp-1/lib/x86, /data/app/com.mycompany.app.myapp-1/base.apk!/lib/x86, /vendor/lib, /system/lib]]] couldn't find "libstate-lib.so" at java.lang.Runtime.loadLibrary(Runtime.java:367) at java.lang.System.loadLibrary(System.java:1076) at com.mycompany.app.myapp.CallStateService.<clinit>(CallStateService.java:37) ,其中显示logcat不是项目的一部分,我在名为couldn't find "libstate-lib.so"的项目中也没有这样的文件
  • 我的项目名称是libstate-lib.cpp.,然后在运行时为什么要寻找com.mycompany.app.myapp
  • 它也在com.mycompany.app.myapp-1/中寻找nativeLibraryDirectories而不是nativeLibraryDirectories=[/data/app/com.mycompany.app.myapp-1/lib/x86

到目前为止,我已经尝试过: -多次更改CMakelists.txt文件的位置并进行了更改 链接的.cpp文件的路径,然后进行清理,构建和重建。 -无效的缓存和重新启动的Studio。 -更改了build.gradle中的应用程序版本 -清除了模拟器中的应用程序数据,并多次卸载并重新设置了模拟器,然后再次尝试对其运行

我希望有人能帮助我。预先谢谢您,我们将不胜感激。

0 个答案:

没有答案
相关问题