2011-02-10 27 views
6

Aynı kaynaklardan aynı uygulamanın birden çok sürümünü oluşturmam gereken bir Android projem var.Android AdMob ve Maven

Bunu yapmak için, ben android plugin for Maven

Her versiyon admob gelen reklamları içeren gerekir kullanın. Yani benim POM ben

<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> 

Ben uygulamayı çalıştırmak Yani görünüşte paket düzgün değil bu istisna

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

olsun, yapı anda herhangi bir hata yok ama bu bağımlılığın eklendi dahil?

cevap

9

Çalışma zamanı gerekli kitaplıklar için sistem kapsamını KULLANMAYIN. Kavanozu yerel deponuza veya havuz sunucunuza (örneğin, mvn install:installFile ..) dağıtın ve kapsam ve systemPath'i bağımlılık bildiriminden kaldırın.

Güncelleme: son sürümlerde itibariyle benim Maven Android SDK Deployer yerel Maven depo veya sizin için depo sunucusuna SDK'dan AdMob kavanoz yüklemek yapabilirsiniz.

1

Maven Android SDK deployer kullanmak için aşağıdakileri yapın:

  • Klon repo:

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

  • Git SDK'nizde Yöneticisi ve tüm API'ler yükleyin (bu Henüz yapmadıysanız bir sürebilir)

  • ANDR için doğru ortam değişkenine sahip olduğunuzdan emin olun. OID_HOME. Windows için bu olabilir:

    seti ANDROID_HOME = c:/android-sdk-windows

  • Çalıştır yükleyici:

    c: \ Tools \ maven-android-sdk-deployer> mvn

    yüklemek

Bunu yaptıktan sonra, tüm android bağımlılıkları pom.xml'inizden kullanabilirsiniz.

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

(github sayfasından bir bütün listesi var)