以下这个问题 缠绕了 我很长时间 google 上搜了半天也没有相关的说明或者很乱!
环境:eclipse 3.6,ADT-14.0.0.zip,maven 2.0.11,maven-android-plugin 2.8.4,M2eclipse
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.lekan</groupId>
<artifactId>Activity_Test</artifactId>
<packaging>apk</packaging>
<version>0.1-SNAPSHOT</version>
<name>Android_Test</name>
<dependencies>
<dependency>
<groupId>com.google.android</groupId>
<artifactId>android_11</artifactId>
<version>${android-version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3</version>
<configuration>
<source>1.5</source>
<target>1.5</target>
<encoding>utf-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>maven-android-plugin</artifactId>
<version>2.8.4</version>
<configuration>
<sdk>
<path>${sdk.path}</path>
<platform>${android-platform}</platform>
</sdk>
<emulator>
<avd>${android-emulator}</avd>
</emulator>
<deleteConflictingFiles>true</deleteConflictingFiles>
</configuration>
<extensions>true</extensions>
</plugin>
</plugins>
</build>
<properties>
<sdk.path>c:\android_sdk</sdk.path>
<android-platform>11</android-platform>
<android-version>3.0</android-version>
<android-emulator>android-11</android-emulator>
</properties>
</project>
使用 mvn package 报错
Cannot find required method com.android.sdklib.build.ApkBuilder.addNativeLibraries(java.io.File, java.lang.String)
Cannot find required method
java.lang.NoSuchMethodException: com.android.sdklib.build.ApkBuilder.addNativeLibraries(java.io.File, java.lang.String)
at java.lang.Class.getMethod(Class.java:1605)
at com.jayway.maven.plugins.android.phase09package.ApkBuilder.initialize(ApkBuilder.java:102)
at com.jayway.maven.plugins.android.phase09package.ApkMojo.initializeAPKBuilder(ApkMojo.java:294)
at com.jayway.maven.plugins.android.phase09package.ApkMojo.createApkFile(ApkMojo.java:162)
at com.jayway.maven.plugins.android.phase09package.ApkMojo.execute(ApkMojo.java:144)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
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.buildProject(LifecycleModuleBuilder.java:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319)
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(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
折腾了很久终于找到关键所在 我将maven 升级到 maven 3.0.3 在将android-maven-plugin 升级到 3.0.0
设置 eclipse windows-preferences-maven-installations 添加 本地安装的maven3.0目录
修改后的pom.xml
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.lekan</groupId>
<artifactId>activity_test</artifactId>
<packaging>apk</packaging>
<version>0.1-SNAPSHOT</version>
<name>android_test</name>
<properties>
<android-platform>7</android-platform>
<maven-android-plugin-version>3.0.0</maven-android-plugin-version>
<android-version>2.1</android-version>
</properties>
<dependencies>
<dependency>
<groupId>com.google.android</groupId>
<artifactId>android_7</artifactId>
<version>${android-version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>utf-8</encoding>
<showWarnings>true</showWarnings>
</configuration>
</plugin>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>${maven-android-plugin-version}</version>
<extensions>true</extensions>
<configuration>
<sdk>
<path>${env.ANDROID_SDK_HOME}</path>
<platform>${android-platform}</platform>
</sdk>
</configuration>
</plugin>
</plugins>
</build>
</project>
当让你也可以将签名 流程 配置到 pom里!
在解决这个问题的同时搜索到不少好的文章以下共享链接:
http://www.cnblogs.com/Pickuper/archive/2011/06/14/2078969.html
http://www.blogjava.net/askcuix/archive/2011/03/07/345897.html
http://www.cnblogs.com/feisky/archive/2011/03/13/1650076.html
http://code.google.com/p/maven-android-plugin/issues/detail?id=209#c0
http://code.google.com/p/maven-android-plugin/issues/detail?id=210
http://www.cnblogs.com/abob/archive/2010/06/24/1764521.html
最后有什么不明白的 可以留言!
分享到:
相关推荐
eclipse-maven3-plugin插件 包含apache-maven-3.3.9和eclipse-maven3-plugin
maven3-plugin-3.0.1-sources.jar
maven-jar-plugin-3.1.1.jar
maven-deploy-plugin-2.8.2.jar
maven-antrun-plugin-3.0.0.jar
eclipse-maven3-plugin.7z 解压缩到 plugins 目录下 3. 在 links 目录下创建一个maven.link(名字可以随便取,但必须是.link结尾的文件)文件 打开并输入:path= D:/Development/eclipse-JavaEE/eclipse/plugins...
maven-resources-plugin-2.4.1.jar
解决tomcat8-maven-plugin-3.0-r1655215.jar阿里云同有的问题。放到路径org\apache\tomcat\maven\tomcat8-maven-plugin\3.0-r1655215\就可以了
maven是个项目管理工具,如果我们不告诉它我们的代码要使用什么样的jdk版本编译的话,它就会用maven-compiler-plugin默认的jdk版本来进行处理,这样就容易出现版本不匹配,以至于可能导致编译不通过的问题。...
maven-site-plugin-3.3.jar
maven-deploy-plugin-2.7.jar
ECLIPSE MAVEN3插件文件(eclipse-maven3-plugin工具)
maven-install-plugin-2.4.jar
eclipse maven3插件,eclipse-maven3-plugin,m2e
maven-project-info-reports-plugin-2.2.jar
maven-surefire-plugin-2.22.1.jar
maven-resources-plugin-3.1.0.jar
maven-notice-plugin-1.0.1.jar
maven-surefire-plugin-2.7.1.jar
maven-jxr-plugin-2.0.jar