Note that there are some explanatory texts on larger screens.

plurals
  1. POAndroid Studio : Project successfully compiled but can't access Google Play Services on device
    primarykey
    data
    text
    <p>I've been trying to compile my project using Google Play Services such as Maps and GCM. </p> <p>After following <a href="https://stackoverflow.com/a/17243377/2644128">these instructions</a>, my project now compiles successfully and includes all the libs I need. Android Studio also has added auto-completion for GCM and Maps functions. Build target is set to <code>Google APIs 18</code></p> <p>But then, when I intent to start my app, it crashes when it hits </p> <pre><code>if(GooglePlayServicesUtil.isGooglePlayServicesAvailable(this) != ConnectionResult.SUCCESS){ setContentView(R.layout.error_no_play); return; </code></pre> <p>or when it hits the map fragment</p> <pre><code>&lt;fragment android:id="@+id/map" android:layout_height="match_parent" android:layout_width="match_parent" tools:layout="@layout/fragment_gmap" class="com.google.android.gms.maps.MapFragment"/&gt; </code></pre> <p>The errors thrown are :</p> <ul> <li><p>When checking if GooglePlayServices is available : <code>java.lang.NoClassDefFoundError: com.google.android.gms.common.GooglePlayServicesUtil</code></p></li> <li><p>For the fragment : </p> <p>.......</p> <pre><code> 08-22 20:17:56.565 20356-20356/&lt;MY_APP&gt; E/AndroidRuntime: FATAL EXCEPTION: main java.lang.RuntimeException: Unable to start activity ComponentInfo{&lt;MY_APP&gt;/&lt;MY_APP&gt;.MainActivity}: android.view.InflateException: Binary XML file line #8: Error inflating class fragment at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2140) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2178) at android.app.ActivityThread.access$700(ActivityThread.java:141) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1271) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:5118) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:792) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555) at dalvik.system.NativeStart.main(Native Method) Caused by: android.view.InflateException: Binary XML file line #8: Error inflating class fragment at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) at android.view.LayoutInflater.inflate(LayoutInflater.java:489) at android.view.LayoutInflater.inflate(LayoutInflater.java:396) at &lt;MY_APP&gt;.SearchFragment.newTab(SearchFragment.java:71) at &lt;MY_APP&gt;.SearchFragment.setupTabs(SearchFragment.java:54) at &lt;MY_APP&gt;.SearchFragment.onCreateView(SearchFragment.java:28) at android.support.v4.app.Fragment.performCreateView(Fragment.java:1460) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:911) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1088) at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682) at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1444) at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:551) at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1163) at android.app.Activity.performStart(Activity.java:5068) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2113) ... 11 more Caused by: android.support.v4.app.Fragment$InstantiationException: Unable to instantiate fragment com.google.android.gms.maps.MapFragment: make sure class name exists, is public, and has an empty constructor that is public at android.support.v4.app.Fragment.instantiate(Fragment.java:401) at android.support.v4.app.Fragment.instantiate(Fragment.java:369) at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:272) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:676) ... 26 more Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.maps.MapFragment" on path: /data/app/&lt;MY_APP&gt;-2.apk at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61) at java.lang.ClassLoader.loadClass(ClassLoader.java:501) at java.lang.ClassLoader.loadClass(ClassLoader.java:461) at android.support.v4.app.Fragment.instantiate(Fragment.java:391) ... 29 more </code></pre></li> </ul> <p>The Manifest file is as following :</p> <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;manifest xmlns:android="http://schemas.android.com/apk/res/android" package="&lt;MyApp&gt;" android:versionCode="1" android:versionName="1.0" &gt; &lt;!-- Permissions required for GMap and Facebook to work --&gt; &lt;uses-permission android:name="android.permission.INTERNET"/&gt; &lt;uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/&gt; &lt;uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /&gt; &lt;uses-permission android:name="android.permission.GET_ACCOUNTS" /&gt; &lt;uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /&gt; &lt;uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /&gt; &lt;permission android:name="&lt;MyApp&gt;.permission.C2D_MESSAGE" android:protectionLevel="signature" /&gt; &lt;uses-permission android:name="&lt;MyApp&gt;.permission.C2D_MESSAGE" /&gt; &lt;!-- Require OpenGL ES2 for GMap --&gt; &lt;uses-feature android:glEsVersion="0x00020000" android:required="true" /&gt; &lt;!-- Because this app is using the GCM library to send messages, the min SDK cannot be lower than 8. Using SDK11--&gt; &lt;uses-sdk android:minSdkVersion="11" android:targetSdkVersion="18" /&gt; &lt;application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/MyTheme" &gt; &lt;receiver android:name=".MyPushReceiver" android:permission="com.google.android.gcm.c2dm.permission.SEND" &gt; &lt;intent-filter&gt; &lt;action android:name="com.google.android.c2dm.intent.RECEIVE" /&gt; &lt;category android:name="&lt;MyApp&gt;" /&gt; &lt;/intent-filter&gt; &lt;/receiver&gt; &lt;activity android:name="&lt;MyApp&gt;.MainActivity" android:label="@string/app_name" &gt; &lt;intent-filter&gt; &lt;action android:name="android.intent.action.MAIN" /&gt; &lt;category android:name="android.intent.category.LAUNCHER" /&gt; &lt;/intent-filter&gt; &lt;/activity&gt; &lt;!-- Facebook specific activities --&gt; &lt;activity android:name="com.facebook.LoginActivity" /&gt; &lt;!-- GMap API key --&gt; &lt;meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="&lt;MY_KEY&gt;" /&gt; &lt;!-- Facebook App ID --&gt; &lt;meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/app_id" /&gt; &lt;/application&gt; &lt;/manifest&gt; </code></pre> <p>I've been dealing with this issue for 1 month now, and i still have no way to deal with it. Is it a known issue of AndroidStudio? Am i forgetting something? From what i'm reading from the error logs, it looks like the libs are not compiled with the project. </p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload