问题
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.
回答1:
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