2012-06-29 9 views
6

Używam Androida-maven-plugin 3.2.0 i uruchom następujące czynności, aby zainstalować i uruchomić apk na moim urządzeniu (Nexus One, Android 2.3.6), który jest jedynym połączonym przez usb i widocznym dla adb; emulator nie działa równolegle.mvn android: wdrażaj nie działa (pomimo potwierdzenia sukcesu)

mvn install android:deploy android:run 

Poniżej jest wyjście w swojej skorupy, która wygląda wszystko dobrze, a ja nawet się komunikat mówiąc

pomyślnie zainstalowany /Users/myuser/Projects/MyCompany/com.mycompany.abc /target/com.mycompany.abc-1.0-SNAPSHOT.apk do HT9CPP805008_HTC_NexusOne

ale to nie jest prawda, apk nie jest zainstalowany na urządzeniu, nie można znaleźć w aplikacjach. Jedyny sposób, w jaki mogę obecnie uzyskać apk naprawdę zainstalowany jest przez workaround, ponieważ android:deploy nie wydaje się działać poprawnie. (sam w sobie działa dobrze, mogę ręcznie uruchomić dowolne polecenie (push, install, itp.), A także bezproblemowo odnajdzie moje urządzenia. Jestem na Mac OS X Lion z adb v1.0.29)

Aktualizacja:

Oto interesujące stwierdzenie Zrobiłem: android:deploy/run działa dobrze jeśli mam aplikacja zainstalowana na urządzeniu przed a następnie uruchomić Maven, które następnie undeploy starego apk po pierwsze, a następnie przesunięcie nowy. To działa! Ale jeśli nie mam w ogóle zainstalowanej aplikacji na moim urządzeniu lub ręcznie usuwam aplikację przed uruchomieniem programu, nie będzie działać. Zmiana wartości <undeployBeforeDeploy> z true na false również nie ma tu znaczenia.

Czy ktoś wcześniej doświadczył tego problemu?

[INFO] Scanning for projects... 
[WARNING] 
[WARNING] Some problems were encountered while building the effective model for com.mycompany:com.mycompany.abc:apk:1.0-SNAPSHOT 
[WARNING] 'build.plugins.plugin.version' for org.codehaus.mojo:exec-maven-plugin is missing. @ line 85, column 21 
[WARNING] 
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build. 
[WARNING] 
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects. 
[WARNING] 
[INFO]                   
[INFO] ------------------------------------------------------------------------ 
[INFO] Building com.mycompany.abc 1.0-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- android-maven-plugin:3.2.0:deploy (default-cli) @ com.mycompany.abc --- 
[INFO] Waiting for initial device list from the Android Debug Bridge 
[INFO] Found 1 devices connected with the Android Debug Bridge 
[INFO] android.device parameter set to usb 
[INFO] Device HT9CPP805008_HTC_NexusOne found. 
[INFO] Successfully installed /Users/myuser/Projects/MyCompany/com.mycompany.abc/target/com.mycompany.abc-1.0-SNAPSHOT.apk to HT9CPP805008_HTC_NexusOne 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESS 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 5.334s 
[INFO] Finished at: Sat Jun 30 01:23:01 CST 2012 
[INFO] Final Memory: 12M/126M 
[INFO] ------------------------------------------------------------------------ 

pom.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.mycompanyany</groupId> 
    <artifactId>com.mycompany.abc</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>apk</packaging> 
    <name>com.mycompany.abc</name> 

    <dependencies> 
     <dependency> 
      <groupId>com.google.android</groupId> 
      <artifactId>android</artifactId> 
      <version>2.2.1</version> 
      <scope>provided</scope> 
     </dependency> 
    </dependencies> 

    <build> 
     <sourceDirectory>src</sourceDirectory> 
     <plugins> 
      <!-- Simply read properties from file --> 
      <plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>properties-maven-plugin</artifactId> 
       <version>1.0-alpha-2</version> 
       <executions> 
        <execution> 
         <phase>initialize</phase> 
         <goals> 
          <goal>read-project-properties</goal> 
         </goals> 
         <configuration> 
          <files> 
           <file>android.properties</file> 
          </files> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 

      <plugin> 
       <groupId>com.jayway.maven.plugins.android.generation2</groupId> 
       <artifactId>android-maven-plugin</artifactId> 
       <version>3.2.0</version> 
       <configuration> 
        <androidManifestFile>${project.basedir}/AndroidManifest.xml</androidManifestFile> 
        <assetsDirectory>${project.basedir}/assets</assetsDirectory> 
        <resourceDirectory>${project.basedir}/res</resourceDirectory> 
        <nativeLibrariesDirectory>${project.basedir}/src/main/native</nativeLibrariesDirectory> 
        <sdk> 
         <platform>11</platform> 
        </sdk> 
        <deleteConflictingFiles>true</deleteConflictingFiles> 
        <undeployBeforeDeploy>false</undeployBeforeDeploy> 
        <!--<sign><debug>false</debug></sign>--> 
        <device>usb</device> 
       </configuration> 
       <extensions>true</extensions> 
      </plugin> 

      <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>2.3.2</version> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
       </configuration> 
      </plugin> 

      <plugin> 
       <artifactId>exec-maven-plugin</artifactId> 
       <groupId>org.codehaus.mojo</groupId> 
       <configuration> 
        <executable>${basedir}/scripts/run_app.sh</executable> 
       </configuration> 
      </plugin> 

     </plugins> 
    </build> 

</project> 

Odpowiedz

11

pracuję z wtyczką maven bez problemu (Linux i Galaxy Nexus) i działa dobrze.

Spróbuj tego:

mvn clean install android:deploy android:run -Dandroid.device=usb 

To mój pom:

http://pastebin.com/tzuFyjSx

nadzieję, że pomoże Ci

+1

Wypróbowałem, ale bez różnicy. Zauważ jednak, że mam już usb w moim pom.xml, nie powinienem potrzebować dodatkowego paramu; ale w każdym razie, nawet z tym, bez różnicy. Bardzo dziwne, ponieważ nie dostaję żadnego błędu. –

+0

Oto interesujące odkrycie, które właśnie napisałem: Android: wdróż/uruchom działa dobrze *, jeśli mam już zainstalowaną aplikację na moim urządzeniu *, a następnie uruchom program maven, który najpierw wdroży aplikację i ponownie wdroży nową. To działa!Ale - jeśli nie mam w ogóle zainstalowanej aplikacji na moim urządzeniu, lub nawet ręcznie usuwam aplikację przed uruchomieniem programu, nie zadziała. Wciąż testujemy dalej ... Zmiana wartości "undeployBeforeDeploy" z true na false również nie ma tu znaczenia. –

+0

To jest pom http://pastebin.com/RvBcVFKr – sourcerebels

0

Wiem, że to stary problem, ale mam ten sam jeden i Nie znalazłem tutaj rozwiązania.

mvn clean android:emulator-start install android:deploy

Powiązane problemy