把应用push到/system/app上面后,出现java.lang.UnsatisfiedLinkError的问题

 

把应用push到/system/app下面后,加载.so库的问题

01-01 00:07:08.186: E/MessageQueue-JNI(2683): java.lang.UnsatisfiedLinkError: Couldn't load DeviceAPI from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/system/app/Price1.1.0.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]]: findLibrary returned null

  如果是正常安装到/data/app,/data/data/相应包名目录下会正常出现/lib/*.so文件,可以正常加载运行。但是如果把应用push到/system/app/,/data/data/相应包名目录下没有出现这个库。 system/app下面的应用默认回去加载system/lib下面so库,如果没找到相应的so库就会报UnsatisfiedLinkError

经过测试system.loadlibrary加载so库的顺序为:

1、/data/data/相应包名目录下会正常出现/lib/

2、如果1中的目录不存在,则会去加载system/lib下面的so库。

 

posted on 2015-09-06 10:13  屌丝迷途  阅读(548)  评论(0编辑  收藏  举报

导航