Android Studio AdMob Integration With Google Play Services

admob, android, android-studio, google-play-services

Solution

Change `com.google.ads.AdView` into `com.google.android.gms.ads.AdView`. You are using the Google Play Service, not Admob SDK Be happy :).

Problem

I am trying to add admob features to my application. I have done everything but I am missing some key points. Here is my graddle: ``` apply plugin: 'android' android { compileSdkVersion 19 buildToolsVersion '19.0.1' defaultConfig { minSdkVersion 13 targetSdkVersion 19 versionCode 1 versionName "1.0" } buildTypes { release { runProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard- rules.txt' } } } dependencies { compile 'com.android.support:appcompat-v7:+' compile 'com.google.android.gms:play-services:+' compile fileTree(dir: 'libs', include: ['*.jar', '*.aar']) } ``` This is the XML Layout part for ads view ``` `<com.google.ads.AdView xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" android:id="@+id/adView" android:layout_width="match_parent" android:layout_height="wrap_content" ads:adUnitId="ca-app-pub-8644867804576560/1489221139" ads:adSize="SMART_BANNER" ads:testDevices="*******50664**2" ads:loadAdOnCreate="true"/>` ``` These meta tags and necessary permissions are added to Manifest.xml ``` <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/> <activity android:name="com.google.android.gms.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/> ``` Finally this is the logcat at the crash moment. ``` 02-16 12:50:31.941 8898-8898/com.exampl.deneme E/AndroidRuntime﹕ FATAL EXCEPTION: main java.lang.RuntimeException: Unable to start activity ComponentInfo{com.exampl.deneme/com.exampl.deneme.MainActivity}: android.view.InflateException: Binary XML file line #16: Error inflating class com.google.ads.AdView at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2295) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2349) at android.app.ActivityThread.access$700(ActivityThread.java:159) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:5419) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:525) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1187) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003) at dalvik.system.NativeStart.main(Native Method) Caused by: android.view.InflateException: Binary XML file line #16: Error inflating class com.google.ads.AdView at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713) at android.view.LayoutInflater.rInflate(LayoutInflater.java:761) at android.view.LayoutInflater.inflate(LayoutInflater.java:498) at android.view.LayoutInflater.inflate(LayoutInflater.java:398) at com.exampl.deneme.MainActivity$PlaceholderFragment.onCreateView(MainActivity.java:60) at android.support.v4.app.Fragment.performCreateView(Fragment.java:1500) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:927) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104) at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682) at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1467) at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:570) at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1188) at android.app.Activity.performStart(Activity.java:5382) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2266) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2349) at android.app.ActivityThread.access$700(ActivityThread.java:159) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:5419) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:525) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1187) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.ads.AdView" on path: /data/app/com.exampl.deneme-1.apk at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:64) at java.lang.ClassLoader.loadClass(ClassLoader.java:501) at java.lang.ClassLoader.loadClass(ClassLoader.java:461) at android.view.LayoutInflater.createView(LayoutInflater.java:565) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:702) at android.view.LayoutInflater.rInflate(LayoutInflater.java:761) at android.view.LayoutInflater.inflate(LayoutInflater.java:498) at android.view.LayoutInflater.inflate(LayoutInflater.java:398) at com.exampl.deneme.MainActivity$PlaceholderFragment.onCreateView(MainActivity.java:60) at android.support.v4.app.Fragment.performCreateView(Fragment.java:1500) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:927) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104) at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682) at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1467) at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:570) at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1188) at android.app.Activity.performStart(Activity.java:5382) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2266) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2349) at android.app.ActivityThread.access$700(ActivityThread.java:159) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:5419) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:525) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1187) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003) at dalvik.system.NativeStart.main(Native Method) ``` By the way code compiles with no error, this happens at run time. I don't want to use this version as it is going to be deprecated. Trying to get this version work. I believe I am very close to the solution but couldn't achieve to get there. It is so nonsense at compile time it recognizes everything when it comes to run it directly crashes with the above errors. What may it be that I am missing?

Original source

Related problems