Android - Новый AdmobApi не работает для рекламы в Android
Я работаю над последним Android SDK 23 и пытаюсь добавить рекламу AdMob в моем приложении. так что я следовал AdMob Guied Line и видео Guied это тоже, но я все еще получаю ошибку
ОШИБКА
FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.adtest/com.android.adtest.MainActivity}: android.view.InflateException: Binary XML file line #10: Error inflating class com.google.android.gms.ads.AdView
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2343)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2395)
at android.app.ActivityThread.access$600(ActivityThread.java:162)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1364)
at android.os.Handler.dispatchMessage(Handler.java:107)
Caused by: android.view.InflateException: Binary XML file line #10: Error inflating class com.google.android.gms.ads.AdView
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:698)
at android.app.Activity.performCreate(Activity.java:5122)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1081)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2307)
... 11 more
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.ads.AdView" on path: DexPathList[[zip file "/data/app/com.android.adtest-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.android.adtest-1, /vendor/lib, /system/lib]]
at android.view.LayoutInflater.createView(LayoutInflater.java:552)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)
... 24 more
Я не знаю, где я иду не так. Пожалуйста, помогите мне. Заранее спасибо.
Даже я могу видеть adView в графическом макете. это показывает серый макет в Android.
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="AAA"/>
<com.google.android.gms.ads.AdView android:id="@+id/adView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
ads:adSize="BANNER"
ads:adUnitId="MY ID"/>
</LinearLayout>
я могу найти com.google.android.gms.ads.AdView
в моем файле.java, но не удается найти в файле.xml
manifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.adtest"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="21" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version"/>
<activity
android:name=".MainActivity"
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="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
</application>
</manifest>
3 ответа
Щелкните правой кнопкой мыши по своему проекту -> Путь сборки -> Настроить путь сборки -> Вкладка "Порядок и экспорт".
Убедитесь, что "Частные библиотеки Android" проверены на экспорт.
Если вы добавили какие-либо библиотеки из папки libs /, удалите их, поскольку они автоматически добавляются в раздел "Частные библиотеки Android".
в файле макета попробуйте это.
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
вместо
xmlns:ads="http://schemas.android.com/apk/res-auto"
Это проблема папки Google-play-services, пожалуйста, проверьте ее. и изменить.
Перейдите по этой ссылке
вам нужно будет добавить некоторый Java-код в ваш onCreate(), также попробуйте выполнить шаги один за другим в правом столбце
// Java code required.
// testDevices and loadAdOnCreate attributes are
// no longer available.
AdView adView = (AdView)this.findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice("TEST_DEVICE_ID")
.build();
adView.loadAd(adRequest);
Вам нужно перестроить приложение, если вы копируете код из одного проекта в другой.
В меню Android Studio> нажмите Build > Rebuild Project.