2013-08-24 11 views
5

Chcę rozpocząć korzystanie z nowej biblioteki pomocy ActionBar z biblioteki appcompat-v7 i używam maven. Próbowałem utworzyć apklib. Są to kroki I przestrzegać:Wygeneruj APKLIB z kompatybilności-v7-appcompat

  1. Utwórz plik ZIP projektu android-sdks/extras/android/support/v7/appcompat
  2. Zmień nazwę pliku z rozszerzeniem ZIP APKLIB.
  3. Zainstaluj plik APKLIB w moim lokalnym repozytorium:

C: .... m2 \ repozytorium \ android \ support \ kompatybilność-V7-AppCompat \ 18> mvn zainstalować: install-file - DFILE = appcombat.apklib -DgroupId = android.support -DartifactId = AppCompat -Dversion = 18 -Dpackaging = apklib

rozpocząć korzystanie z biblioteki z moim android projektu dodając tę ​​zależność w pom:

<dependency> 
     <groupId>android.support</groupId> 
     <artifactId>appcompat</artifactId> 
     <version>18</version> 
     <type>apklib</type> 
    </dependency> 

Ale to nie działa. Otrzymuję błąd z powodu braku artefaktu.
Każda pomoc będzie bardzo ceniona.

+0

Zamiast tworzyć nową zależność, można [Uwzględnij oficjalny android wsparcie w Maven] [1] [ 1]: http://stackoverflow.com/a/29153638/1345391 – JavierSP1209

Odpowiedz

1

Apklib wygenerowany przez maven-android-sdk-deployer działa dobrze dla mnie.

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

+0

Tak, dziękuję, ale chciałbym nauczyć się generować to przez moje własne. – nano

+1

Nie jestem pewien, jak zainstalować kompatybilność-v7-appcompat v19 za pomocą maven-android-sdk-deployer. Uruchamiam mvn install -P 4.4, ale kompatybilność-v7-appcompat v19 nie jest zainstalowana w moim lokalnym repozytorium maven. Jakie polecenie mam uruchomić? – Giorgio

+1

wystarczy przejść do katalogu (maven-android-sdk-deployer/extras/compatibility-v7-appcompat) i uruchomić 'mvn clean install' (choć nie jestem pewien, czy' clean' jest niezbędny) – kassim

8

IS sposób zainstalować AppCompat do lokalnego repozytorium bez polegania na Maven SDK wdrożeniowcowi ...

Od Manager Android SDK, należy zainstalować opcję 'Android Wspieraj repozytorium. przejdź do folderu SDK, a następnie do pliku ./extras/m2Repository/com/android/support/appcompat-v7/18.0.0

otwórz plik appcompat-v7-18.0.0.aar i skopiuj plik classes.jar do pliku o nazwie AppCompat-v7-18.0.0.jar

w linii poleceń przejdź do tego samego folderu m2Repository i wykonaj następujące polecenia:

mvn install:install-file -Dfile="./com/android/support/appcompat-v7/18.0.0/appcompat-v7-18.0.0.jar"/ -DpomFile="./com/android/support/appcompat-v7/18.0.0/appcompat-v7-18.0.0.pom"/ -Dpackaging="jar" 
mvn install:install-file -Dfile="./com/android/support/appcompat-v7/18.0.0/appcompat-v7-18.0.0.aar"/ -DpomFile="./com/android/support/appcompat-v7/18.0.0/appcompat-v7-18.0.0.pom"/ -Dpackaging="apklib" 

Następnie dodać dwa następujące zależności w Twojego projektu POM

<dependency> 
     <groupId>com.android.support</groupId> 
     <artifactId>appcompat-v7</artifactId> 
     <version>18.0.0</version> 
     <type>apklib</type> 
    </dependency> 
    <dependency> 
     <groupId>com.android.support</groupId> 
     <artifactId>appcompat-v7</artifactId> 
     <version>18.0.0</version> 
     <type>jar</type> 
    </dependency> 
+1

appcompat-v7 również zależy od support-v4, więc musisz również wykonać następujące polecenie z tego samego folderu m2repository: mvn install: install-file -Dfile = "./ com/android/support/support-v4/18.0.0/support -v4-18.0.0.jar "/ -DpomFile =" ./ com/android/support/support-v4/18.0.0/support-v4-18.0.0.pom "/ -Dopakowanie =" jar " – LightStruk

0
<dependency> 
     <groupId>com.android.support</groupId> 
     <artifactId>appcompat-v7</artifactId> 
     <version>18.0.0</version> 
     <type>apklib</type> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>com.android.support</groupId> 
     <artifactId>appcompat-v7</artifactId> 
     <version>18.0.0</version> 
     <type>jar</type> 
    </dependency> 
    <dependency> 
     <groupId>com.android.support</groupId> 
     <artifactId>support-v4</artifactId> 
     <version>18.0.0</version> 
    </dependency> 

Włożyłem te zależności w pliku pom ale mówi się umieścić android: theme = „@ styl/Theme.AppCompat.Light” w oczywisty natomiast czyste i zbudować i umieścić ją na manifest, ale nadal mam ten sam błąd .Ale kiedy zmienić

<dependency> 
     <groupId>com.android.support</groupId> 
     <artifactId>appcompat-v7</artifactId> 
     <version>18.0.0</version> 
     <type>apklib</type> 
    </dependency> 

do

<dependency> 
     <groupId>com.android.support</groupId> 
     <artifactId>appcompat-v7</artifactId> 
     <version>18.0.0</version> 
     <type>apklib</type> 
     <scope>compile</scope> 
    </dependency> 

kompiluje i działa na android android manifeście ale nadal pokazuje czerwona linia na Androidzie: motyw = "@ styl/Theme.AppCompat.Light" w Eclipse .Więc nie wiem, co zrobić, aby usunąć ten błąd czerwoną linię na zaćmienie na pliku manifestu

+0

Jeśli nie rozwiązałem tego problemu, ale musisz także mieć bibliotekę w czasie zaćmienia. Android-Maven-plugin obsługuje tylko zależności podczas budowania. Eclipse generuje ostrzeżenie i nie może przetworzyć zależności. –

Powiązane problemy