我希望将Roboelectric和roboguice用于我接手的项目。为此,我需要将当前项目转换为maven。我一直在看这个
http://code.google.com/p/maven-android-plugin/wiki/GettingStarted
我想知道我是否需要做任何不同的转换项目,因为我不是从头开始。
在将项目推送到github时,我还需要做些什么吗?
答案 0 :(得分:2)
这就是我用已经用eclipse创建的项目的方法。
首先我将ANDROID_HOME添加到我的/etc/launch.conf
setenv ANDROID_HOME /usr/local/Cellar/android-sdk/r12
要获取SDK的本地jar并放入本地Maven存储库,我使用了maven-android-sdk-deployer
只需克隆存储库并运行mvn install(仅对一个版本添加-P 4.2可选)
然后我使用roboelectric的pom.xml作为样本,并编辑了我需要的东西。 Roboelectric Quick Start
确保文件夹结构与maven文件夹结构相同,使用/ src / main / java和/ src / main / test
我的项目没有使用RoboGuice,但应该只包括
<dependency>
<groupId>org.roboguice</groupId>
<artifactId>roboguice</artifactId>
<version>2.0</version>
</dependency>
这是我的pom.xml文件的内容,我正在使用目标16和17我得到了Roboelectric 1.1的错误。
<dependencies>
<!-- To get this locally use https://github.com/mosabua/maven-android-sdk-deployer -->
<dependency>
<groupId>android</groupId>
<artifactId>android</artifactId>
<version>4.2_r1</version>
<scope>provided</scope>
</dependency>
<!-- Make sure this is below the android dependencies -->
<dependency>
<groupId>com.pivotallabs</groupId>
<artifactId>robolectric</artifactId>
<version>1.1</version>
<scope>test</scope>
<exclusions>
<exclusion>
<artifactId>sqlite-jdbc</artifactId>
<groupId>org.xerial</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.2</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<pluginManagement>
<plugins>
<plugin>
<!-- http://code.google.com/p/maven-android-plugin/ --> <groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>3.5.0</version>
<extensions>true</extensions>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<configuration>
<sdk>
<platform>16</platform>
</sdk>
</configuration>
</plugin>
</plugins>
</build>