Android AdMob и Maven
у меня есть проект Android, где мне нужно создать несколько версий одного и того же приложения из одних и тех же источников.
для этого я использую Android плагин для Maven
каждая версия должна иметь возможность включать рекламу от admob. Поэтому в моем POM я добавил эту зависимость
<dependency>
<groupId>com.admob.android</groupId>
<artifactId>ads</artifactId>
<version>20101109-ANDROID-3312276cc1406347</version>
<scope>system</scope>
<systemPath>THE_PATHlibsadmob-sdk-android.jar</systemPath>
</dependency>
Я не получаю никаких ошибок во время сборки, но, когда я выполняю приложение, я получаю это исключение
java.lang.ClassNotFoundException: com.admob.android.ads.AdView
Так, видимо пакет не правильно включены ?
2 ответов
вы не можете использовать системную область для библиотек, необходимых для выполнения. Разверните jar в локальном репозитории или на сервере репозитория (используя, например,mvn установить: installFile ..) и удалите область и systemPath из объявления зависимостей.
обновление: по состоянию на последние релизы my Maven Android SDK развертывания может выполнить установку AdMob jar из SDK в локальный репозиторий Maven или сервер репозитория для вас.
чтобы использовать Maven Android SDK Deployer, выполните следующие действия:
-
клонировать РЕПО:
git clone https://github.com/mosabua/maven-android-sdk-deployer.git
перейдите в Диспетчер SDK и установите все 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 есть целый список)