Android Studio : how to compile Google Play Services and GCM along with
the project?
I've been trying to compile my project using Google Play Services such as
Maps and GCM.
After following these instructions, 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 Google
APIs 18
But then, when I intent to start my app, it crashes when it hits
if(GooglePlayServicesUtil.isGooglePlayServicesAvailable(this) !=
ConnectionResult.SUCCESS){
setContentView(R.layout.error_no_play);
return;
or when it hits the map fragment
<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"/>
The errors thrown are :
When checking if GooglePlayServices is available :
java.lang.NoClassDefFoundError:
com.google.android.gms.common.GooglePlayServicesUtil
For the fragment :
08-22 20:17:56.565 20356-20356/ E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity
ComponentInfo{/.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
.SearchFragment.newTab(SearchFragment.java:71) at
.SearchFragment.setupTabs(SearchFragment.java:54) at
.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/-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
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.
No comments:
Post a Comment