Quand je clique avec le bouton droit sur mon projet Android et sélectionnez Run->Android Application
. L’émulateur est lancé et les modifications sont sockets en compte.
Mais lorsque je fais les commandes ci-dessous, cela ne reflète pas.
mvn clean install mvn android:deploy mvn android:emulator-start
De plus, la commande deploy et emulator-start échoue si aucun émulateur n’est ouvert. Found 0 devices connected with the Android Debug Bridge
.
[ERROR] Failed to execute goal com.jayway.maven.plugins.android.generation2:andr oid-maven-plugin:3.3.0:deploy (default-cli) on project SampleProject: No online de vices attached. -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal c om.jayway.maven.plugins.android.generation2:android-maven-plugin:3.3.0:deploy (d efault-cli) on project SampleProject: No online devices attached. at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor .java:217) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor .java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor .java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProje ct(LifecycleModuleBuilder.java:84) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProje ct(LifecycleModuleBuilder.java:59) at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBu ild(LifecycleStarter.java:183) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(Lifecycl eStarter.java:161) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Laun cher.java:290) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.jav a:230) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(La uncher.java:409) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java: 352) Caused by: org.apache.maven.plugin.MojoExecutionException: No online devices att ached. at com.jayway.maven.plugins.android.AbstractAndroidMojo.doWithDevices(Ab stractAndroidMojo.java:625) at com.jayway.maven.plugins.android.AbstractAndroidMojo.deployApk(Abstra ctAndroidMojo.java:527) at com.jayway.maven.plugins.android.AbstractAndroidMojo.deployBuiltApk(A bstractAndroidMojo.java:570) at com.jayway.maven.plugins.android.standalonemojos.DeployMojo.execute(D eployMojo.java:48) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(Default BuildPluginManager.java:101) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor .java:209) ... 19 more [ERROR] [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please rea d the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionE xception
Voici mon fichier android-maven-plugin-emulator-start.vbs.
Dim oShell Set oShell = WScript.CreateObject("WScript.shell") oShell.run "C:\Windows\system32\cmd.exe /X /C START /SEPARATE ""AndroidMavenPlugin-AVDDefault"" D:\SDK\tools\emulator.exe -avd Default"
Voici MY POM.XML
4.0.0 com.sample SampleProject 1.0 apk SampleProject 2.3.3 UTF-8 com.google.android android ${platform.version} provided com.googlecode.androidannotations androidannotations 2.5.1 provided com.googlecode.androidannotations androidannotations api 2.5.1 com.jayway.maven.plugins.android.generation2 android-maven-plugin 3.3.2 16 ${env.ANDROID_HOME}/ 21 -no-skin false true maven-comstackr-plugin 2.5.1 1.6 1.6
Exécutez mvn android:emulator-start
avant mvn android:deploy
. Le plug-in maven ne peut pas se déployer sur un émulateur qui n’existe pas. Vous devez également attendre le démarrage de l’émulateur avant de le déployer.
Utilisez les adb devices
pour vérifier les périphériques Android actifs connectés à votre ordinateur.
Vous pouvez lancer l’émulateur manuellement (comme Deepak l’a mentionné dans sa réponse) avant d’exécuter mvn android:deploy
ou d’utiliser la configuration suivante pour exécuter mvn android:deploy
directement.
com.jayway.maven.plugins.android.generation2 android-maven-plugin 3.3.2 ... ... 21 180000 -no-skin ... ... true