maven集成eclipse android项目办法总结

1.安装m2eclipse-android-integration

https://svn.codespot.com/a/eclipselabs.org/m2eclipse-android-integration/updates/m2eclipse-android-integration/

其实这个不需要安,不过下面的是必须要安装的。

 

安装maven-android-sdk-deployer

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

下载完后,执行:

 

cd mosabua-maven-android-sdk-deployer-df824df
mvn clean install

#可选择安装:
mvn install -P 1.5
mvn install -P 1.6
mvn install -P 2.1
mvn install -P 2.2
mvn install -P 2.3.3
mvn install -P 3.0
mvn install -P 3.1
mvn install -P 3.2
mvn install -P 4.0
mvn install -P 4.0.3

 如果报错,说明sdk没有安装完整(google api等等),要在android sdk manager里面下载完整,

如果运行正常的话,这一步操作就是将sdk的包放入到svn的本地仓库里了。

 

 

 

2.Create Eclipse project

 

If you already have an Android project please make sure you have created a POM for your project using version 3.0.0 or greater of the maven-android-plugin.

 

Then right-click on your project and select Configuration -> Convert to Maven Project.

 

If you are starting with a new project you can use the Maven Android archetypes to create Android projects completely within Eclipse:

 

Create a new Maven Project (File -> New -> Project... then select Maven -> Maven Project).

When prompted to Select Archetype click Add Archetype...

In the dialog that appears enter "de.akquinet.android.archetypes" for Archetype Group Id.

In Archetype Artifact Id enter "android-quickstart".

In Archetype Version enter "1.0.8" and continue.

When prompted enter your desired project group and artifact ID, version and, optionally, set the "platform" property for the Android version (defaults to '10').

Click Finish

Right-click on new project and select Maven -> Update Project Configuration.

 

 

3.Install Android Connector

Windows->Preferences->Maven->Discovery->Open Catalog->安装m2e connector for android

 

4.至此新建的项目应该不会再报错了。

 

5.配置maven插件,自动打包签名,附上我的完整的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.olivephone</groupId>
    <artifactId>olive-browser</artifactId>
    <version>1.0.10</version>
    <packaging>apk</packaging>
    <name>olive-browser</name>
    
    <properties>
        <platform.version>2.2.1</platform.version>
    </properties>
    
	<dependencies>
	    <dependency>
            <groupId>com.google.android</groupId>
            <artifactId>android</artifactId>
            <version>${platform.version}</version>
            <scope>provided</scope>
        </dependency>
    	<dependency>
    		<groupId>com.google.android</groupId>
    		<artifactId>support-v4</artifactId>
    		<version>r7</version>
    	</dependency>
    	<dependency>
    		<groupId>commons-io</groupId>
    		<artifactId>commons-io</artifactId>
    		<version>2.0.1</version>
    	</dependency>
    	<dependency>
    		<groupId>org.apache.commons</groupId>
		  	<artifactId>commons-lang3</artifactId>
		  	<version>3.1</version>
		</dependency>
    	<dependency>
			<groupId>org.jsoup</groupId>
			<artifactId>jsoup</artifactId>
			<version>1.6.1</version>
		</dependency>
    	<dependency>
    		<groupId>com.google.android</groupId>
    		<artifactId>libGoogleAnalytics</artifactId>
    		<version>1.0</version>
    	</dependency>
	</dependencies>
        
    <build>
        <plugins>
            <plugin>
                <groupId>com.jayway.maven.plugins.android.generation2</groupId>
                <artifactId>android-maven-plugin</artifactId>
                <version>3.1.1</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>8</platform>
                    </sdk>
                    <undeployBeforeDeploy>true</undeployBeforeDeploy>
                </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>
                    <encoding>UTF8</encoding>
                </configuration>
            </plugin>
            
			<plugin>
		        <groupId>org.apache.maven.plugins</groupId>
		        <artifactId>maven-jarsigner-plugin</artifactId>
		        <version>1.2</version>
		        <executions>
		          <execution>
		            <id>sign</id>
		            <goals>
		              <goal>sign</goal>
		            </goals>
		          </execution>
		          <execution>
		            <id>verify</id>
		            <goals>
		              <goal>verify</goal>
		            </goals>
		          </execution>
		        </executions>
		        <configuration>
		            <encoding>UTF-8</encoding>
		           	<includes>
		                 	<include>target/${artifactId}.apk</include>
		                 	</includes>	
		                 	<removeExistingSignatures>true</removeExistingSignatures>
		                 	<keystore>${keyFilePath}</keystore>
					<storepass>${storePassword}</storepass>
					<keypass>${keyPassword}</keypass>
					<alias>${keyAlias}</alias>
		        </configuration>
	      	</plugin>
		      
		<plugin>
			     <groupId>org.codehaus.mojo</groupId>
			     <artifactId>exec-maven-plugin</artifactId>
			     <version>1.2.1</version>
			     <executions>
			         <execution>
			             <id>zipalign</id>
			             <goals>
			                 <goal>exec</goal>
			             </goals>
			             <phase>install</phase>
			             <configuration>
			                 <executable>${ANDROID_HOME}/tools/zipalign</executable>
			                  <arguments>
			                     <argument>-f</argument>
			                     <argument>4</argument>
			                     <argument>target/${project.build.finalName}.apk</argument>
			                     <argument>target/${project.build.finalName}-zipped.apk</argument>
			                 </arguments>
			             </configuration>
			         </execution>
			     </executions>
		</plugin>
        </plugins> 
    </build>
    
</project>
 

 

setting.xml

 

<settings 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/settings-1.0.0.xsd">

<!-- add by peirenlei here one line-->
<localRepository>D:/3rdlib/java/m2/repository</localRepository>

<profiles>
	<profile>
		<id>sign</id>
		<activation>
			<activeByDefault>true</activeByDefault>
		</activation>
		<properties>
			<keyFilePath>E:/MyDocument/xxxx.keystore</keyFilePath>
			<storePassword>就不告诉你</storePassword>
			<keyPassword>就不告诉你</keyPassword>
			<keyAlias>就不告诉你</keyAlias>
		</properties>
	</profile>

</profiles>
<activeProfiles>
   <activeProfile>sign</activeProfile>
</activeProfiles>

</settings>
 

 

特别提醒:

1.<removeExistingSignatures>true</removeExistingSignatures>这个一定要配上,我之前参考网上的都没有这一项,结果就是签名的apk里面有两个签名,一个是自己的一个是android debug的,so...

 

2.记住源代码的路径要更改为:src/main/java,否则在package的时候会抱错,并且就算不抱错,打好的包在真机上也运行不了,谨记,为这个事情,我折磨了一整天。

 

 

6.配置这这一切,接下来就是爽歪歪的时候了: 

 

mvn clean package

 进入target目录,看到的mvndemo-1.0.9.apk就是已经签过名的apk,怎么?不相信,自己看看:

 

jarsigner -verify -verbose -certs "F:\workspace\android_workspace\mvndemo\target\mvndemo-1.0.9.apk"
 

看到没?打印出来的信息里,是不是有自己的签名信息。

 

收工了。。。。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值