Android开发学习(6)Maven管理项目
来源:互联网 发布:c51单片机流水灯程序 编辑:程序博客网 时间:2024/06/16 09:57
学习安卓开发有了一小段时间,一直想使用maven管理安卓的开发,这样就和以前的开发模式有了很大的重合,本着这个念头, 我们开始一步步使用maven创建一个安卓项目:
开发环境:
JDK 1.8
Maven 3.1.1
IDEA 2016
主要步骤:
配置 android 开发环境
根据 android 官网提示,配置 android 开发环境,直到能在 eclipse 上运行简单的 helloAndroid 项目。请参照官网(http://developer.android.com/),直到能运行模拟器,并看到 hello。
目的是为了检验 android sdk 和 ADT(Android Developer Tools) 已配置正确,步骤2 中将不会被使用这个 helloAndroid 项目。
配置 maven android 开发环境
根据 maven-android-plugin 官网提示,配置 maven android 开发环境,能在 IDEA 上运行 android 项目。
maven 的安装和配置请参照maven官网。
环境变量
设置 ANDROID_HOME,指向 android sdk 所在文件夹
ANDROID_HOME=D:\Android\android-sdkPath=...;%MAVEN_HOME%\bin;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\build-tools;%ANDROID_HOME%\platforms;%ANDROID_HOME%\build-tools\android-4.2.2
maven-android-sdk-deployer
https://github.com/mosabua/maven-android-sdk-deployer,点击下载 maven-android-sdk-deployer 源码,解压缩到本地任意路径。
这是一个maven项目,执行 mvn clean install 直至 Success,会把 android 开发相关的所有 jar 包安装到本地的 mvn repository 中。
cmd:安装安卓4.0插件
mvn clean install -P4.0
pluginGroups
打开 maven 配置文件 settings.xml (默认路径:C:\Documents and Settings{user}.m2\settings.xml) ,
确认 pluginGroups 节点添加:
<pluginGroups> <pluginGroup>com.jayway.maven.plugins.android.generation2</pluginGroup> </pluginGroups>
新建项目
在本地建立 maven 项目路径,比如\AndroidSpace\maven-test
cd \AndroidSpace\maven-test
next:
mvn archetype:generate -DarchetypeArtifactId=android-quickstart -DarchetypeGroupId=de.akquinet.android.archetypes -DarchetypeVersion=1.0.6 -DgroupId=com.xvshu.android -DartifactId=android-xvshu
next:
mvn clean install
关联模拟器
avd是安卓开发时,虚拟一个安卓系统,和本地代码联调的程序,在idea中,可以直接创建:
在工具栏中找到AVD manager的图标,点击打开AVD管理器,选择Create Device”创建模拟机型,选好后,点击“finish”,记住自己创建的avd的name。
打开 pom.xml,在 maven-android-plugin 的 configuration 中添加avd 名称。
<configuration> ... <emulator> <avd>Nexus 5 API 16</avd> </emulator> ... </configuration>
执行 mvn android:deploy,将项目deploy到模拟器中,直至sucess.
常见错误:
java.lang.ClassNotFoundException: org.sonatype.aether.RepositorySystem
解决办法;
android-maven-plugin插件升级为3.8.1:
<?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.xvshu.android</groupId> <artifactId>android-xvshu</artifactId> <version>1.0-SNAPSHOT</version> <packaging>apk</packaging> <name>android-xvshu</name> <properties> <android.sdk.path>D:\Android\android-sdk</android.sdk.path> <android.sdk.version>15</android.sdk.version> </properties> <dependencies> <dependency> <groupId>com.google.android</groupId> <artifactId>android</artifactId> <version>2.1.2</version> <scope>provided</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>com.jayway.maven.plugins.android.generation2</groupId> <artifactId>android-maven-plugin</artifactId> <version>3.8.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> <path>${android.sdk.path}</path> <platform>${android.sdk.version}</platform> </sdk> <deleteConflictingFiles>true</deleteConflictingFiles> <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> </configuration> </plugin> </plugins> </build></project>
- Android开发学习(6)Maven管理项目
- 《项目管理利器Maven》学习(一):Maven概述及搭建Maven开发环境
- Maven管理Android项目
- Maven管理Android项目
- android使用maven管理项目
- 使用Maven管理Android项目
- 《项目管理利器Maven》学习(六):Eclipse中配置Maven及创建Maven项目
- 《项目管理利器Maven》学习(九):Maven核心之依赖管理
- Maven学习笔记(三)---管理web项目
- 项目管理利器——Maven(慕课网学习笔记)
- intellij IDEA开发工具项目maven管理
- intellij IDEA开发工具项目maven管理
- 用maven管理hadoop开发项目
- 《项目管理利器Maven》学习(七):使用Eclipse创建Maven项目遇到的问题
- 项目管理利器maven学习总结
- maven管理android项目 环境搭建
- eclipse中使用maven管理android项目
- 使用Maven管理Android项目的问题
- pthread_getspecific 线程局部存储
- oracle用户管理(1)
- 【功能介绍】ITSOM企业级应用SaaS平台——项目管理
- 创建多线程笔记
- Apache Security-1 简介
- Android开发学习(6)Maven管理项目
- 监督学习与无监督学习
- api接口返回统一数据格式 status、message、data
- js中含有el表达式,使用//注释失败
- WebGL camera的坐标和几何体长宽高的问题
- 51nod 1537 分解(矩阵快速幂)
- [HDU
- 证件照精修篇
- Css3响应布局 弹性盒子