如何将一个android studio项目合并到另一个android studio项目中

问题描述:

我有两个独立的android应用程序项目,这些项目是在android studio中制作的我正在尝试将项目1合并到项目2中,使其成为所有应用程序。这个?我知道如何在eclipse中完成,但不是在android studio中。 请注意,他们都是这些项目都是android应用程序,他们都不是android库。如何将一个android studio项目合并到另一个android studio项目中

任何帮助将是惊人的!

当我导入项目1到项目模块我得到的品位打造这个错误:

Warning:Dependency School Tools Calc lib.gz:SchoolTools:unspecified on project app resolves to an APK archive which is not supported as a compilation dependency. File: /Users/chrisdebrodie/Documents/School Tools Calc lib.gz/SchoolTools/build/outputs/apk/SchoolTools-release-unsigned.apk

+2

[AndroidStudio - 模块依赖于摇篮]的可能的复制(http://*.com/questions/18656023/androidstudio-module-dependencies-in-gradle) – 323go

+0

它happnes因为你想添加一个依赖它有一个插件com.android.application。你做不到。 –

在Android Studio中不能有两个“项目”作为单个项目。

将一个(或两个)项目转换为库。然后创建一个“外壳”项目来构建每个应用程序。 shell项目基本上是空的,或者它可能会构建特定的值覆盖。这样做的好处是您可以修改库并且更改将立即反映在两个/所有版本中。缺点是你将不得不解决任何改变任何库导致的所有项目中的问题。但是你可以用类似的方式创建“组合”项目。

将一个或两个转换为库后,您可以创建一个aar文件。这让您可以选择将aar作为Gradle依赖项。请注意,每次修改该项目时都需要重新构建aar - 因此,如果您有关于哪个更稳定的代码库的说明,请参阅aar。这使您能够“版本控制”主项目依赖项,以便在不影响其他项目的稳定性的情况下更改一个项目。

此外,您可以编写脚本并使用像Bamboo或Jenkins这样的工具对aar进行实时更新 - 但这就像使用“快照”依赖关系一样。当您更改aar时,它可能会进行编译,但是直到您在该项目上进行构建之前,它可能会中断第二个项目的构建,而不知道它。 (是的,您可以在该项目中包含构建作为Bamboo或Jenkins脚本的一部分,但这并不容易)。

可能还有其他替代方案,但这些方案似乎提供了足够的选项来生成各种构建选项。

+0

谢谢你的真棒指南,我会试试这个,让你知道它是怎么回事! – Phoneswapshop

+0

我能够将应用程序2合并到应用程序1谢谢你的帮助! :) – Phoneswapshop

+0

@Jim如何将我的android studio项目转换成.aar文件。 https://*.com/questions/48001755/is-it-possible-to-show-multiple-apps-in-my-android-app?noredirect=1#comment82972324_48001755 – Ana

添加一个项目为他人的模块。 This答案解释了如何去做。请注意,此答案是为了响应添加库依赖项,但它也适用于您的情况。

+0

谢谢我已经尝试这样做,并得到此错误:警告:依赖学校工具Calc lib.gz:SchoolTools:未指定在项目应用程序解析为一个APK归档不支持作为编译依赖项。 File:/ Users/chrisdebrodie/Documents/School Tools Calc lib.gz/SchoolTools/build/outputs/apk/SchoolTools-release-unsigned.apk – Phoneswapshop

+0

嗯好的。你有两个项目的控制权吗?你能修改模块依赖关系的gradle文件作为库而不是应用程序吗? – davehenry

+0

我有两个项目的源代码问题是,我试图添加到我的其他项目的应用程序不能用作库任何其他想法? – Phoneswapshop

我写了一个回购安全和容易地处理这个工作人员Jacksgong/android-project-combine

特点:

  • 只是一个发展中的env包装,但不能进行修改的项目,使用安全。 不同的Android项目在一个Android Studio窗口中一起开发。
  • 查找引用并跳转到源代码而不是jar包中的.class文件。
  • 跳出每个项目编译系统并使用官方编译系统。
  • 很轻,每次刷新结合项目都非常快。