2011-03-20 45 views
4

我有一個簡單的android項目,它的構建APK確定但是我不能讓它部署到我的設備。目前我必須手動複製APK並安裝它,這非常煩人。Android maven插件,無法部署到設備

我已經有了一個非Maven項目啓用USB調試,所以當我運行mvn -e android:deploy -Dandroid.device=usb我得到以下輸出設備的實際連接應確定

[INFO] Finished at: Sun Mar 20 16:31:29 GMT 2011 
[INFO] Final Memory: 59M/541M 
[INFO] ------------------------------------------------------------------------ 
C:\development\projects\AndroidSam_mavenbranch>mvn -e android:deploy -Dandroid.device=usb 
+ Error stacktraces are turned on. 
[INFO] Scanning for projects... 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building Maven Android Plugin - samples 
[INFO] task-segment: [android:deploy] (aggregator-style) 
[INFO] ------------------------------------------------------------------------ 
Downloading: http://repo1.maven.org/maven2/com/admob/android/ads/20101109-ANDROID-3312276cc1406347/ads-20101109-ANDROID-3312276cc14 
06347.pom 
[INFO] Unable to find resource 'com.admob.android:ads:pom:20101109-ANDROID-3312276cc1406347' in repository central (http://repo1.ma 
ven.org/maven2) 
[INFO] [android:deploy {execution: default-cli}] 
[INFO] C:\development\tools\androidSDK\android-sdk-windows/tools/adb [-d, install, -r, C:\development\projects\AndroidSam_mavenbran 
ch\target\AndroidSam.apk] 
[INFO] 'C:\development\tools\androidSDK\android-sdk-windows\tools\adb' is not recognized as an internal or external command, 
[INFO] operable program or batch file. 
[ERROR] 
[ERROR] 'C:\development\tools\androidSDK\android-sdk-windows\tools\adb' is not recognized as an internal or external command,operab 
le program or batch file. 
[INFO] ------------------------------------------------------------------------ 
[ERROR] BUILD ERROR 
[INFO] ------------------------------------------------------------------------ 
[INFO] Error deploying C:\development\projects\AndroidSam_mavenbranch\target\AndroidSam.apk to device. 

Embedded error: ANDROID-040-001: Could not execute: Command = cmd.exe /X /C "C:\development\tools\androidSDK\android-sdk-windows\to 
ols\adb -d install -r C:\development\projects\AndroidSam_mavenbranch\target\AndroidSam.apk", Result = 1 
[INFO] ------------------------------------------------------------------------ 
[INFO] Trace 
org.apache.maven.lifecycle.LifecycleExecutionException: Error deploying C:\development\projects\AndroidSam_mavenbranch\target\Andro 
idSam.apk to device. 
     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:719) 
     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:569) 
     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:539) 
     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387) 
     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:284) 
     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180) 
     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328) 
     at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138) 
     at org.apache.maven.cli.MavenCli.main(MavenCli.java:362) 
     at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
     at java.lang.reflect.Method.invoke(Method.java:597) 
     at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) 
     at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) 
     at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) 
     at org.codehaus.classworlds.Launcher.main(Launcher.java:375) 
Caused by: org.apache.maven.plugin.MojoExecutionException: Error deploying C:\development\projects\AndroidSam_mavenbranch\target\An 
droidSam.apk to device. 
     at com.jayway.maven.plugins.android.AbstractAndroidMojo.deployApk(AbstractAndroidMojo.java:425) 
     at com.jayway.maven.plugins.android.AbstractIntegrationtestMojo.deployBuiltApk(AbstractIntegrationtestMojo.java:101) 
     at com.jayway.maven.plugins.android.standalonemojos.DeployMojo.execute(DeployMojo.java:48) 
     at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490) 
     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694) 
     ... 17 more 
Caused by: com.jayway.maven.plugins.android.ExecutionException: ANDROID-040-001: Could not execute: Command = cmd.exe /X /C "C:\dev 
elopment\tools\androidSDK\android-sdk-windows\tools\adb -d install -r C:\development\projects\AndroidSam_mavenbranch\target\Android 
Sam.apk", Result = 1 
     at com.jayway.maven.plugins.android.CommandExecutor$Factory$1.executeCommand(CommandExecutor.java:186) 
     at com.jayway.maven.plugins.android.CommandExecutor$Factory$1.executeCommand(CommandExecutor.java:158) 
     at com.jayway.maven.plugins.android.AbstractAndroidMojo.deployApk(AbstractAndroidMojo.java:417) 
     ... 21 more 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 3 seconds 
[INFO] Finished at: Sun Mar 20 16:31:50 GMT 2011 
[INFO] Final Memory: 43M/555M 
[INFO] ------------------------------------------------------------------------ 

這是我的POM看起來像:

<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.jameselsey</groupId> 
    <artifactId>AndroidSam</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>apk</packaging> 
    <name>Maven Android Plugin - samples</name> 

    <dependencies> 
     <dependency> 
      <groupId>com.google.android</groupId> 
      <artifactId>android</artifactId> 
      <version>2.2.1</version> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>com.admob.android</groupId> 
      <artifactId>ads</artifactId> 
      <version>20101109-ANDROID-3312276cc1406347</version> 
      <!--<scope></scope>--> 
     </dependency> 
    </dependencies> 



    <build> 
     <finalName>${project.artifactId}</finalName> 
     <sourceDirectory>src</sourceDirectory> 
     <plugins> 
      <plugin> 
       <groupId>com.jayway.maven.plugins.android.generation2</groupId> 
       <artifactId>maven-android-plugin</artifactId> 
       <version>2.6.0</version> 
       <configuration> 
        <sdk> 
         <!-- platform or api level (api level 4 = platform 1.6)--> 
         <platform>8</platform> 
        </sdk> 
        <emulator> 
         <!-- the name of the avd device to use for starting the emulator--> 
         <avd>GoogleAPIs</avd> 
        </emulator> 
        <deleteConflictingFiles>true</deleteConflictingFiles> 
        <undeployBeforeDeploy>true</undeployBeforeDeploy> 
        <device> 

        </device> 
       </configuration> 
       <extensions>true</extensions> 
      </plugin> 
      <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <!-- version 2.3 defaults to java 1.5, so no further configuration needed--> 
       <version>2.3</version> 
      </plugin> 
     </plugins> 
    </build> 
</project> 

任何想法?

+0

在進一步的調查,似乎插件試圖調用亞行它來部署,但該插件正在尋找下工具\和亞行已被移至不同的地點。試圖找出我可以配置的位置 – Jimmy 2011-03-20 16:55:14

回答

7

我注意到您使用的是稍微舊版本的maven-Android的插件(2.6.0)的安裝。我們爲2.8.1版中的platform-tools/添加了對新的Android SDK目錄佈局的自動支持。

請升級到最新版本。查看更新日誌的可用版本:
http://code.google.com/p/maven-android-plugin/wiki/Changelog

謝謝
雨果

0

您可以使用亞洲開發銀行ADB 安裝{路徑APK}