2011-02-10 81 views
6

我有一个Android项目,我需要从同一来源构建同一应用程序的多个版本。Android AdMob和Maven

要做到这一点,我用的是android plugin for Maven

每个版本必须能够包括AdMob广告。所以在我的POM我加入这个扶养

<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 

因此很明显的包不正确包括?

回答

9

您不能将系统范围用于运行时所需的库。将jar部署到本地存储库或存储库服务器(使用例如mvn install:installFile ..),并从依赖声明中删除范围和systemPath。

更新:由于采用了最新版本的我Maven Android SDK Deployer可以做的AdMob罐子从SDK到你的本地仓库或您库服务器安装。

1

要使用Maven的Android SDK部署,做到以下几点:

  • 克隆回购:

    混帐克隆https://github.com/mosabua/maven-android-sdk-deployer.git

  • 转到您的SDK管理器并安装所有的API(这可能需要一段时间,如果你还没有做到这一点)

  • 确保你有正确的环境变量设置为ANDR OID_HOME。对于Windows,这可能是:

    集ANDROID_HOME = C:/ Android的SDK窗口

  • 运行安装程序:

    C:\工具\ Maven的Android的SDK-部署> MVN安装

完成此操作后,您可以仅使用pom.xml中的所有android依赖项,例如

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

(有GitHub的页面上的整个列表)