我想在IntelliJ Android项目中使用maven依赖项。有没有人成功使用IntelliJ来处理使用maven的Android项目?
答案 0 :(得分:43)
我在Ubuntu 11.10和Mac OS X 10.7.3上使用IntelliJ IDEA(目前版本为v11.0.2,版本为111.277)来处理基于Maven的Android项目,并且在大多数情况下它运行良好。使用IntelliJ与Android和Maven的一个好处是所有支持都已内置 - 没有额外的IDE插件可供安装。
作为可以使用IntelliJ打开的良好工作Android Maven项目的示例,您可以使用GitHub的开源Gaug.es for Android应用程序的源代码(并非GitHub上的所有开发人员都使用IntelliJ,我个人而言do - Eclipse也用于处理这个项目。)
平稳运行的第一步显然是确保您的项目在命令行中仅使用普通Maven正确构建 - 虽然问题没有直接询问这一点,但我建议将这些先决条件作为最低限度:
如果您可以mvn install
项目的父pom,那么您可以继续使用IntelliJ实际使用它。
Project Structure
,Platform Settings
,SDKs
然后编辑Java SDK,如果它显示为红色,则为其提供Java 6 SDK的路径。Project Structure
对话框窗口中,将Project SDK
设置为相应的Android版本,然后在Project
下将Project compiler output
设置为您喜欢的目录名称 - 此值执行'Make'是必需的,但也被子模块覆盖,以便敏感地指向Maven'目标'目录。Maven Projects
标签。点击Reimport All Maven Projects
按钮(看起来像两个箭头互相追逐)。如果IntelliJ提示您启用自动导入,请转到它。您现在应该在Maven Projects
选项卡下至少列出一个模块,如果您还有集成测试项目,则应该有更多模块。此时,您应该拥有相当有意义的IDE体验。应该有效的东西:
Force regenerate R.java file
应正确刷新target/generated-sources/r/...
下的文件 - 但只有target/generated-sources/r
已设置为源路径,即由Maven生成,并由的IntelliJ。最小命令行替代方法是从受影响模块的文件夹中的命令行执行mvn android:generate-sources
。package
或install
调用我的所有构建。可能不起作用的东西:
ClassNotFoundException: junit.textui.ResultPrinter
消亡)如果IntelliJ感到困惑,以下步骤通常会让您回到正轨:
mvn clean install
Reimport All Maven Projects
按钮一些建议:
希望有所帮助!
答案 1 :(得分:12)
请参阅Getting Started with the maven-android-plugin。
此处可以使用命令创建具有Maven结构的样本工作模板:
mvn archetype:generate \
-DarchetypeArtifactId=android-with-test \
-DarchetypeGroupId=de.akquinet.android.archetypes \
-DarchetypeVersion=1.1.0 \
-DgroupId=com.foo.bar \
-DartifactId=my-android-project \
-Dpackage=com.foo.bar.android
BTW,IntelliJ内置了对maven的支持,所以只需从中打开pom.xml - 一切都会好的。