我想爲Android啓動一個項目,但我真的很想用Maven構建它。 Google是否提供對Maven的支持或計劃支持它?如果有人知道我至少可以使用Maven的一個原型,那就太好了。提前致謝。對於android項目的maven支持?
回答
我真正想要的是an article like this,但我發現它的問題得到回答後。
更新: 人SpringSource的做支持Spring框架的在Android環境和have Maven support使用Spring的Android項目。我會試一試。
下面是使用Eclipse 3.6和Android SDK 9,分裂關於Spring的Android和Maven的文章分爲兩個部分:
好像有a maven plugin for that :-)
The Android Maven plugin已被更新,以支持所做的更改Android SDK r14版本。您將需要調整您的POM以使用新版本。在構建我的應用程序時,我遇到了新版本的內存不足錯誤,所以請注意dex jvmArguments部分以允許更多可用內存。
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>3.0.0-alpha-13</version>
<configuration>
<sdk>
<platform>${android-platform}</platform>
</sdk>
<dex>
<jvmArguments>
<jvmArgument>-Xms256m</jvmArgument>
<jvmArgument>-Xmx512m</jvmArgument>
</jvmArguments>
</dex>
<deleteConflictingFiles>true</deleteConflictingFiles>
<undeployBeforeDeploy>true</undeployBeforeDeploy>
</configuration>
<extensions>true</extensions>
</plugin>
Eclipse的最新版Android配置器(m2e-android)也支持r14中的更改。最後,我在SpringSource站點上發佈了一個名爲Updated Maven Support for Android Projects的後續博客,其中會介紹這些更新的工具。
這是我在Eclipse中爲現有的Android項目添加maven支持所做的工作。我通過Eclipse市場安裝了'm2e'插件。然後我安裝了'm2e-android'插件。目前在Eclipse市場上被稱爲「M2E的Android配置器」。安裝完兩個插件並重新啓動Eclipse後,右鍵單擊現有的Android項目 - >配置 - >轉換爲Maven項目。爲您的項目選擇唯一的組ID和工件ID,然後單擊完成。將以下內容複製到項目的pom.xml中並替換所有現有內容。將「依賴關係」下的「版本」標記的值更改爲您正在使用的SDK版本。還要將文件末尾附近的「平臺」標記的值更改爲平臺的值。不要忘記還要更改groupId,artifactId和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>org.myproject</groupId>
<artifactId>MyProject</artifactId>
<version>0.1.0-SNAPSHOT</version>
<packaging>apk</packaging>
<name>MyProject</name>
<dependencies>
<dependency>
<groupId>com.google.android</groupId>
<artifactId>android</artifactId>
<version>2.3.3</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<sourceDirectory>src</sourceDirectory>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>3.3.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 or api level (api level 4 = platform 1.6)-->
<platform>10</platform>
</sdk>
</configuration>
</plugin>
</plugins>
</build>
</project>
之後,右鍵單擊項目 - > Maven - >更新項目。如果Eclipse抱怨在XML錯誤,你可能需要安裝Maven然後從包含pom.xml文件的文件夾在控制檯中運行
mvn clean install
。
作爲@Riduidel之前說的,你可以使用com.jayway.maven.plugins.android.generation2插件。
注意,你不需要下載任何插件,你只需要使用這個插件的maven。
我怎麼做的:
手動添加甲醛。xml到你的android項目(到項目的根目錄)。
下載apache-maven-3.1.1並將您的bin文件夾(例如D:\ java \ apache-maven-3.1.1 \ bin;)添加到環境變量中的路徑中。
配置的settings.xml在[Your_maven_path] \的conf旁邊:
<pluginGroups> <pluginGroup>com.jayway.maven.plugins.android.generation2</pluginGroup> </pluginGroups>
添加內容的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.example.ENumbers</groupId> <artifactId>ENumbers</artifactId> <version>1.0</version> <packaging>apk</packaging> <name>MainApp</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>org.simpleframework</groupId> <artifactId>simple-xml</artifactId> <version>2.7.1</version> <scope>provided</scope> <exclusions> <exclusion> <artifactId>xpp3</artifactId> <groupId>xpp3</groupId> </exclusion> <exclusion> <artifactId>stax-api</artifactId> <groupId>stax</groupId> </exclusion> <exclusion> <artifactId>stax</artifactId> <groupId>stax</groupId> </exclusion> <exclusion> <artifactId>spring-web</artifactId> <groupId>org.springframework</groupId> </exclusion> <exclusion> <artifactId>commons-logging</artifactId> <groupId>commons-logging</groupId> </exclusion> </exclusions> </dependency> </dependencies> <build> <sourceDirectory>src</sourceDirectory> <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> D:\Program Files\Android\android-sdk </path> <platform>22</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> </configuration> </plugin> </plugins> </build> </project>
看重要<packaging>, <build>
節點,它的內容和com.google.android依賴。
- 現在您可以在IDE中打開Maven窗口。對於IntelliJ IDEA的我做下一個:
編輯 - >工具Windows的>的Maven並添加pom.xm升初始化Maven的目錄。 - 就是這樣。
- 1. 啓用對Angular項目的Docker支持
- 2. 無法導入Android支持IntelliJ項目
- 3. Android支持庫和Maven的NoClassDefFoundError
- 4. eclipse現有的maven項目添加jpa支持?
- 5. 如何讓我的Maven項目取決於非Maven項目?
- 6. 如何向maven項目添加協議緩衝區支持?
- 7. IntelliJ IDEA:在單個項目中同時支持SBT和Maven
- 8. 如何使用Maven支持執行Web項目
- 9. 圖書館項目支持?
- 10. Maven依賴於P2項目
- 11. android-maven-plugin和庫項目
- 12. Maven android-合併不同的android項目
- 13. 對於Bamboo插件支持Maven 2 Sonar嗎?
- 14. Android是否支持用於實現VoIP和PTT項目的RTP,RTSP的API?
- 15. 你支持哪些開源項目,或者什麼阻止你支持項目?
- 16. .gitignore對於Android項目的建議
- 17. 支持屏幕的目的android標籤
- 18. 支持智能卡的Java項目
- 19. 的NumericUpDown未在WPF項目支持
- 20. 不支持的項目Visual Studio13
- 21. Opengrok問題上的多項目支持
- 22. C++:使我的項目支持unicode
- 23. Lombok項目中的IDE重構支持
- 24. 用C++支持創建android項目的正確方法
- 25. Android支持multidex庫的Gradle項目同步失敗
- 26. 非支持庫android項目所需的最低API級別
- 27. 僅在Armeabi支持的Android項目中使用Realm
- 28. Nexus 3是否支持Maven?
- 29. 如何將基於maven的項目加入到我的非maven項目中
- 30. 基於Android和Windows Phone的SDL支持
好吧,似乎我的谷歌虛弱。謝謝。 – Ither 2010-10-25 14:00:44
這應該有所幫助。 +1 – 2010-10-25 22:11:33