You can solve it be running on Google API emulator.
To run on Google API emulator, open your Android SDK & AVD Manager > Available packages > Google Repos > select those Google API levels that you need to test on.
After installing them, add them as virtual device and run.
To get past INSTALL_FAILED_MISSING_SHARED_LIBRARY error with Google Maps for Android:
Install Google map APIs. This can be done in Eclipse Windows/Android SDK and AVD Manager -> Available Packages -> Third Party Add-ons -> Google Inc. -> Google APIs by Google Inc., Android API X
From command line create new AVD. This can be done by listing
targets (android list targets), then android create avd -n
new_avd_api_233 -t "Google Inc.:Google APIs:X"
Then create AVD (Android Virtual Device) in Eclipse Windows/Android
SDK and AVD Manager -> New... -> (Name: new_avd_X, Target: Google
APIs (Google Inc.) - API Level X)
IMPORTANT : You must create your AVD with Target as Google APIs (Google Inc.) otherwise it will again failed.
Create Android Project in Eclipse File/New/Android Project and
select Google APIs Build Target.
add <uses-library android:name="com.google.android.maps" />
between <application> </application> tags.
Run Project as Android Application.
If error persists, then you still have problems, if it works, then this error is forever behind you.
I got this same error when installing to an actual device. More information and a solution to loading the missing libraries to the device can be found at the following site:
I am developing an app to version 2.2, API version would in the 8th ... had the same error and the error told me it was to google maps API, all we did was change my ADV for my project API 2.2 and also for the API.
This worked for me and found the library API needed.
When I try these solutions.
I solved with:
create a new virtual device( select Google APIs(Google Inc)-API Level 15 replace android 4.0.3-APILevel 15 )
then run again. It solved.
I think it's just because the device have no google apis~
In your manifest file check the "<uses", like wearable, TV, tablet, etc.
there is a need for some code implementation in BUILD.GRADLE which you may have deleted mistakenly
So by removing the implementation or adding them can remove this error.
You can remove the "uses" code in the android manifest file.
Examples:
this wasted my 1 hour, cause I mistakenly added a class of wearable type, of course, I safe deleted that using refractor but it Didi not made changes to manifest file.
I used the firebase crashlytics code in my java project but I mistakenly deleted that in buld.gradle.
Here below:
implementation 'com.google.firebase:firebase-crashlytics:17.1.1'
The solution is in either BUILD>GRADLE or in AndroidManifest.xml, mostly.
Usually, it means that the app is installed/debugged on the device (including virtual device) that does not support some required library (it may relate to Android version or hardware).
Check elements <uses-library> in your manifest whether all libraries are supported on the device. In my case, it was EDMK (library for Zebra barcode scanners).
Note: Google Play uses the <uses-library> elements declared in your app manifest to filter your app from devices that don't meet its library requirements.
Option a)
If the library was added accidentally (its specific classes are not used in your app), remove the element <uses-library>.
Option b)
If the library is optional, add android:required="false" into <uses-library>. You may need to add validations in your code if some part requires this library.
Option c)
If the library is required, use another device or create a virtual one (AVD) that supports the library.