I have created an application which will be a System Application. When I install the application normally(not as system application) ".so" files are getting loaded. But when I'm making it a system application by putting the apk into /system/app/ , I'm getting the following error
01-09 00:20:26.889: E/AndroidRuntime(2101): java.lang.UnsatisfiedLinkError: Couldn't load iconv from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/system/framework/com.google.android.maps.jar", zip file "/system/app/My.apk"],nativeLibraryDirectories= [/vendor/lib, /system/lib]]]: findLibrary returned null
Research that I have done on this -
It seems that ".o" and ".so" files are located in /system/lib/ and /vendor/lib/ .
Even after adding the files to the respective directories, still failing to load the libraries.
Any Help would be appreciated.
In my case the issue was related to permissions. After putting the ".SO" files into respective directories, I modified the default allocated permissions 600 to 755. It worked well.
来源:https://stackoverflow.com/questions/20906445/unable-to-load-so-library-files-when-making-a-system-application