2011-02-10 83 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的頁面上的整個列表)