Android AdMob и Maven

У меня есть Android Project, где мне нужно собрать несколько версий одного и того же приложения из одних и тех же источников.

Для этого я использую плагин Android для Maven

Каждая версия должна включать рекламу от admob. Так что в моем ПОМ я добавил эту зависимость

<dependency>
   <groupId>com.admob.android</groupId>
   <artifactId>ads</artifactId>
   <version>20101109-ANDROID-3312276cc1406347</version>
   <scope>system</scope>
   <systemPath>THE_PATH\libs\admob-sdk-android.jar</systemPath>
 </dependency>

Я не получаю никаких ошибок во время сборки, но, когда я выполняю приложение, я получаю это исключение

java.lang.ClassNotFoundException: com.admob.android.ads.AdView

Таким образом, по-видимому, пакет не включен должным образом?

2 ответа

Решение

Вы не можете использовать системную область для библиотек времени выполнения. Разверните jar в свой локальный репозиторий или на свой сервер репозитория (используя, например, mvn install: installFile..) и удалите область действия и systemPath из объявления зависимости.

Обновление. Начиная с последних выпусков, мой Maven Android SDK Deployer может выполнить установку JAR AdMob из SDK в ваш локальный репозиторий или сервер репозитория Maven.

Чтобы использовать Maven Android SDK Deployer, сделайте следующее:

  • Клонировать репо:

    git clone https://github.com/mosabua/maven-android-sdk-deployer.git

  • Перейдите в SDK Manager и установите все API (это может занять некоторое время, если вы еще этого не сделали)

  • Убедитесь, что для ANDROID_HOME установлена ​​правильная переменная среды. Для Windows это может быть:

    установить ANDROID_HOME=c:/android-sdk-windows

  • Запустите установщик:

    c: \ Tools \ maven-android-sdk-deployer> установка mvn

После того, как вы это сделаете, вы можете просто использовать все зависимости android из вашего pom.xml, например

    <dependency>
        <groupId>com.google.android.admob</groupId>
        <artifactId>admob</artifactId>
        <version>6.4.1-r11</version>
    </dependency>

(На странице github есть целый список)

Другие вопросы по тегам