Shared library missing in android.
02-18 00:02:08.432: ERROR/PackageManager(57): Package com.example.brown requires unavailable shared library com.google.android.maps; failing!
I got this exception in logcat.
Can anyone guide me?
Solution 1:
As CommonsWare said, your emulator is missing the library. The Google Maps Library's documentation's Overview page has info on how to create the right kind of virtual device for the emulator. The gist is:
Launch the AVD Manager by using the android command without any options. If you are developing in Eclipse/ADT, you can also access the tool from Window > Android SDK and AVD Manager.
- Click the "New" button to begin creating a new AVD.
- In the dialog that appears, specify a name for the AVD and select the system image target that you want the AVD to use. Select one of the "Google APIs (Google Inc.)" targets, making sure to choose a version whose API Level matches the android:minSdkVersion attribute in your application's manifest, as described above.
- Configure the other options and then click "Create AVD".
Once you've finished creating the AVD, you can run it from the AVD Manager UI or you can use the emulator's command-line interface. If you are developing in Eclipse, you can configure a Run Configuration to start the AVD and install your application on it.
For more information about AVDs, see Android Virtual Devices on the Android Developers site.
Solution 2:
I had the similar problem on a real device. After a loot of googling I found this answer
fixing missing shared library. It turns out that on some custom roms the comp.google.android.map library is missing, you have to install it manually.
- download googleapps
- extract two files
- system/etc/permissions/com.google.android.maps.xml
- system/framework/com.google.android.maps.jar
- remount the /system filesystem rw (mount -o rw,remount /system)
- copy the files in
- do a chmod 644 on them
- reboot
Solution 3:
This error occurred to me on an actual device, not an AVD like the other answers. In my case I was running on a Nexus S with a custom ROM that did not have Google Maps installed.
I have read elsewhere that the com.google.android.maps shared library is bundled with the ROM itself and is not bundled as part of an APK.
Therefore the solution for me was to revert to the stock ROM which had Google Maps installed.
BTW, the title of this thread refers to an error that is found in the DDMS LogCat. The first error most users will see (before checking LogCat) will be in the console of Eclipse:
Installation error: INSTALL_FAILED_MISSING_SHARED_LIBRARY
Please check logcat output for more details.
Solution 4:
Your emulator is missing the Google APIs. Create a new AVD that contains the Google APIs, and this error should go away.