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 есть целый список)