So this has been bugging me for a while now. It used to work fine when I put it on an actual android device, and only showed the error when I tried to install my app on a emulator but now it is showing up on both the emulator and the actual device. The error is:
pkg: /data/local/tmp/com.parse.starter
Failure [INSTALL_FAILED_MISSING_SHARED_LIBRARY]
The logcat shows a lot of stuff but most of it looks like this (Uploading the entire logcat goes over my word limit):
04-25 21:23:25.420: ERROR/StrictMode(1703): null android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40cfecc0 that was originally bound here at android.app.LoadedApk$ServiceDispatcher.(LoadedApk.java:969) at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863) at android.app.ContextImpl.bindService(ContextImpl.java:1418) at android.app.ContextImpl.bindService(ContextImpl.java:1407) at android.content.ContextWrapper.bindService(ContextWrapper.java:473) at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157) at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145) at com.android.emailcommon.service.ServiceProxy.test(ServiceProxy.java:191) at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1850) at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551) at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549) at android.os.AsyncTask$2.call(AsyncTask.java:287) at java.util.concurrent.FutureTask.run(FutureTask.java:234) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) at java.lang.Thread.run(Thread.java:856) 04-25 21:23:25.447: ERROR/ActivityThread(1703): Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40cff068 that was originally bound here android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40cff068 that was originally bound here at android.app.LoadedApk$ServiceDispatcher.(LoadedApk.java:969) at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863) at android.app.ContextImpl.bindService(ContextImpl.java:1418) at android.app.ContextImpl.bindService(ContextImpl.java:1407) at android.content.ContextWrapper.bindService(ContextWrapper.java:473) at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157) at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145) at com.android.emailcommon.service.AccountServiceProxy.getDeviceId(AccountServiceProxy.java:116) at com.android.exchange.ExchangeService.getDeviceId(ExchangeService.java:1249) at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1856) at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551) at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549) at android.os.AsyncTask$2.call(AsyncTask.java:287) at java.util.concurrent.FutureTask.run(FutureTask.java:234) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) at java.lang.Thread.run(Thread.java:856)
And finally, here is my manifest, anything wrong? I know it ussually has something to do with but I think I have those in there already
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.parse.starter"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="16"/>
<permission
android:name="com.parse.starter.permission.MAPS_RECEIVE"
android:protectionLevel="signature"/>
<uses-permission android:name="com.parse.starter.permission.MAPS_RECEIVE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<!-- The following two permissions are not required to use
Google Maps Android API v2, but are recommended. -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<application
android:name="ParseApplication"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".ParseStarterProjectActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Register"/>
<activity android:name=".Login"/>
<activity android:name=".MedicationInfo"/>
<activity android:name=".Disclaimer"/>
<activity android:name=".MainFragmentHolder"/>
<activity android:name=".twitterShare"/>
<receiver android:name=".AlarmManagerBroadcastReciever">
</receiver>
<service android:name=".Notifications" >
</service>
<uses-library android:name="com.google.android.maps"/>
<uses-library android:name="com.actionbarsherlock" />
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="MY API KEY"/>
</application>
<uses-feature android:glEsVersion="0x00020000" android:required="true"/>
</manifest>
Get rid of:
<uses-library android:name="com.actionbarsherlock" />
as <uses-library>
is only for firmware libraries.
Also, you appear to be using both Maps V1 and Maps V2, which is possible but unlikely. If you are trying to use Maps V2, get rid of:
<uses-library android:name="com.google.android.maps"/>
as that is Maps V1.