Как правильно настроить AdMob с помощью IntelliJ IDEA? - PullRequest
7 голосов
/ 30 августа 2011

Я пытаюсь включить AdMob в свое приложение для Android. Я использую IntelliJ IDEA для разработки и не могу правильно настроить свой проект. На данный момент я сделал следующее:

  1. Выполнены все предварительные шаги, необходимые для загрузки AdMob SDK.
  2. Следовал указаниям здесь , пытаясь расширить их для IntelliJ IDEA. В свой проект я добавил зависимость библиотеки модулей с одним входом в AdMob SDK.

Похоже, у IDE нет проблем с распознаванием классов из SDK, если я попытаюсь использовать их в коде. Тем не менее, он не может разрешить их в XML. У меня есть следующие две ошибки:

  1. Не удается разрешить символ 'AdActivity' , когда я настраиваю рекламную активность в AndroidManifest.xml, которую требуют инструкции.
  2. Элемент com.google.ads.AdView здесь не разрешен , когда я пытаюсь добавить просмотр объявления в макет способом, задокументированным здесь .

Большое спасибо заранее за вашу помощь. Я надеюсь, что я был ясен.

EDIT

Разъяснение, основанное на ответе Кристиана. Это правда, что первая ошибка, кажется, не имеет значения. Однако вторая ошибка приводит к сбою сборки проекта со следующим сообщением:

... / res / layout / main.xml: 7: ошибка: ошибка синтаксического анализа XML: несвязанный префикс

Рассматриваемый XML-файл имеет следующий формат:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:orientation="vertical"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent">

    <com.google.ads.AdView android:id="@+id/adView"
                           android:layout_width="wrap_content"
                           android:layout_height="wrap_content"
                           ads:adUnitId="MY_AD_UNIT_ID"
                           ads:adSize="BANNER"
                           ads:loadAdOnCreate="true"/>

    <ImageView android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:layout_alignParentTop="true"
               android:layout_marginLeft="123dp"
               android:src="@drawable/logo"/>

    <ImageView android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:layout_alignParentBottom="true"
               android:layout_alignParentRight="true"
               android:src="@drawable/cart"/>

    <Button android:id="@+id/new_shopping_list"
            android:layout_width="223dp"
            android:layout_height="wrap_content"
            android:layout_marginTop="90dp"
            android:text="@string/new_shopping_list_btn"/>

    <Button android:id="@+id/view_all_shopping_lists"
            android:layout_width="223dp"
            android:layout_height="wrap_content"
            android:layout_below="@id/new_shopping_list"
            android:text="@string/saved_shopping_lists_btn"/>

    <ImageView android:id="@+id/copyright_notice"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:layout_alignParentBottom="true"
               android:layout_alignParentRight="true"
               android:layout_marginBottom="7dp"
               android:layout_marginRight="5dp"
               android:src="@drawable/copyright"/>

    <ImageView android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:layout_above="@id/copyright_notice"
               android:layout_alignParentRight="true"
               android:layout_marginBottom="5dp"
               android:layout_marginRight="4dp"
               android:src="@drawable/techsmart_logo"/>

    <ImageButton android:id="@+id/user_guide"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_alignParentBottom="true"
                 android:layout_alignParentLeft="true"
                 android:layout_marginBottom="7dp"
                 android:layout_marginLeft="5dp"
                 android:src="@drawable/user_guide"/>

</RelativeLayout>

1 Ответ

5 голосов
/ 30 августа 2011

Не беспокойтесь об этих ошибках.Библиотека AdMob запутана, поэтому IntelliJ не может прочитать правильные имена классов.Тем не менее, ваше приложение будет компилироваться и работать нормально.Вот как выглядит один из моих проектов, и он отлично работает:

enter image description here

Как видите, есть другие библиотеки, такие как Pontiflex или AirPush, с той же проблемой.

Что касается вашей второй проблемы, кажется, вы забыли добавить пространство имен XML. Этот ответ говорит, что вы должны добавить это:

xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...