如何将Android源代码(AOSP)导入到Android Studio中?

12

我知道如何将Android源代码导入Eclipse,但是是否有办法将Android源代码导入Android Studio。 因为我想从Eclipse更改我的IDE到Android Studio。


你应该将标题重命名为包含Eclipse。现在的标题有误导性。 - basickarl
4个回答

27

我知道这个问题已经有答案了,但我想为任何看到这个问题的人添加一些内容。

对于Android Studio:

  1. 打开终端(*nix系统)并调用以下命令:

{AOSP root}/make idegen && development/tools/idegen/idegen.sh
  • 这将在{AOSP root}目录下生成一个android.ipr文件。

  • 在Android Studio中,选择“打开项目”,然后选择生成的android.ipr文件。
  • 注意:索引所有文件需要很长时间(约2小时)。请耐心等待。如果出现一个显示“检测到框架”的对话框,请选择并点击“确定”。
  • 现在您已经将整个Android框架加载到Android Studio中了。


    1
    据我所知,没有一种方法可以仅包含一个应用程序。当您下载AOSP时,/app取决于该构建并可能具有其他依赖项。如果您想加载它,您需要手动执行此操作。 - wseme
    1
    {AOSP 根目录}/make idegen 生成错误:“make: *** 没有匹配的规则来生成目标 'idegen'。 停止。”无法创建用于运行 idegen.sh 的Java文件。 - George
    我从未收到“检测到框架”对话框,它给了我数十亿个关于android.*未找到、java.*未找到和资源未找到的错误。什么都不起作用。我做错了什么? - nift4
    1
    它会完成的。要么你需要更好的电脑,要么等几个小时。确保你的硬件符合AOSP的推荐要求。不使用虚拟机会更快。幸运的是,它只需要运行一次。如果配置有问题,你会发现的。 - wseme
    在我的情况下,这是一个目录:./vendor/qcom/,其中包含了循环符号链接,而idegen.sh会一直搜索下去。 - undefined
    显示剩余6条评论

    3
    我从同事那里找到了答案,他告诉我,在使用文件时,请使用以下文件:
    sourcecode/development/ide/eclipse/.classpath 
    

    这个文件是用于Eclipse导入Android源代码的。但是,有一种方法可以将此文件转换为IntelliJ项目导入文件。抱歉,我也不知道如何转换。但是,我的同事通过电子邮件向我发送了一个*.iml文件。是的,这是能帮助你创建IntelliJ模块的文件。 得到该文件后,将*.iml文件复制到源代码的根目录,然后打开IntelliJ,创建一个空项目,从现有模块导入模块,然后在窗口中选择*.iml文件,之后,唯一要做的就是等待。导入需要很长时间。 因此,您可以在IntelliJ中开发Android源代码。享受它!


    你能在这个话题中展示你的.iml文件吗?谢谢。 - Autobots
    3
    你可以这样操作:1. 进入mmm development/tools/idegen/目录;2. 切换到该目录下;3. 执行 idegen.sh 命令。等待一段时间后,你就可以在源代码中找到 *.iml 文件了。 - cowboi-peng

    2

    按照以下步骤迁移到Android Studio:

    从Eclipse导出

    1. 在Eclipse中,选择 文件 > 导出。
    2. 在出现的窗口中,打开 Android 并选择 生成Gradle构建文件。
    3. 选择要为Android Studio导出的项目,然后单击完成。

    导入到Android Studio

    1. 在Android Studio中,关闭当前打开的任何项目。您应该看到欢迎使用Android Studio窗口。
    2. 点击“导入项目”。
    3. 找到您从Eclipse导出的项目,展开它,选择build.gradle文件,然后单击“确定”。
    4. 在接下来的对话框中,保留选中“使用gradle wrapper”,然后单击“确定”。(您不需要指定Gradle home。)

    这就是您需要做的全部内容。如需更多信息,请参阅官方文档


    谢谢,也许我没有表达清楚,我所指的源代码是指安卓源代码,例如果冻豆、奇巧巧克力等。 - cowboi-peng
    是的,通过这种方法,您的完整源代码将被复制到Android Studio中。 - Himanshu Agarwal
    你是指文档吗?比如当鼠标悬停在一个方法上时,显示一个带有Javadoc的窗口? - rafaello
    @HimanshuAgarwal 我知道你指的是项目源代码,但我所指的源代码是AOSP(Android开源项目),也就是整个Android系统的源代码。不过还是谢谢你。 - cowboi-peng
    @ihsan.gaozp 如果您有答案,请在此处发布并标记为正确,以便其他人寻找解决方案,并关闭问题。 - Himanshu Agarwal
    @HimanshuAgarwal 我已经在答案中发表了,但它告诉我只有明天才能接受自己的答案~ - cowboi-peng

    0

    请查看此链接

    http://effie.io/opening-aosp-with-intellij-part-3/
    

    这里列出了在Intellij或Android Studio中打开AOSP的所有步骤,以及一些额外的步骤来修复一些错误。


    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接