Android Studio 过渡及使用子库/共享库

标签 android gradle android-studio dependencies

我正在尝试将我们所有的项目从 Eclipse 过渡到 Android Studio(最后决定我必须这样做..!)但我正在认真对待 Android Studio/gradle 的工作方式 - 关于使用外部库项目。

到目前为止,在 Eclipse 中 - 我们曾经将所有依赖项目放在同一个工作区中,并且它们在所有正在开发的项目中“共享”。

这使得对外部更改进行更改并将它们分别提交到自己的 SVN 存储库(而项目使用它们)非常好,以便不假思索地利用这些更改。

这专门针对一个库 - 我们自己的框架,我们用于所有 android 项目,并且它不断被开发、更改、部分返工和被几个人使用。

但随后出现了 Android Studio ......问题是,如果我有一个示例项目,其中包含 10 个子库依赖项,包括我们的框架 - Android Studio 将所有文件物理复制到主根项目的子文件夹中 - 失去所有功能提交' 更改稍后对子库进行 - 到他们自己的 SVN 存储库。

我已经尝试了几乎所有东西,我想我已经阅读了所有内容:)但是废话 - 似乎没有什么可以“修复”我的工作案例..

我试图在根项目的已 checkout 的根文件夹中 checkout 一个子库,并尝试将其导入其中 - 但是 Android Studio 说“库已经存在” - 所以这不起作用。即使它确实......库本身有自己的部门,我看到的是Android Studio会在导入时将它们解耦并将它们放在根项目的同一级别......这完全搞砸了一切。

所以我的问题是 - 即使我明白这不再可能 - 是否有任何简单的方法我可以至少从根拥有项目中提交回子库的 SVN 存储库 - 使用 Android Studio(我的意思是简单的从UI 直接,无需手动控制台合并 hazzle...)

我不明白怎么还有人没有解决这个问题——我敢肯定每个人都在以一种或另一种方式做这件事?

有人可以分享一个“做”它的好方法吗? :)

谢谢你!

最佳答案

我做了什么:

  • 切换到:git
  • 将我们的子项目从 svn
  • 转换为 git
  • 使所有子项目成为主项目的外部
  • 在这篇文章的帮助下将子项目包含在 gradle 中:Android Studio 0.8.1 Creating Modules without copying files?

  • 缺点:
  • 无法从 Android Studio 完全管理 - 必须在 Studio 中进行一半提交,另一半 + 在控制台中推送 - 所以我完全放弃了 Studio,并再次将所有内容移至控制台。毕竟这可能不是那么糟糕:)

  • 我所做的是使用 Blundell 的建议 - 虽然我真的......真的......真的不想完全切换到 git ......

    我们在 SVN 中有超过 300 个 repos,现在真的不是开始 git hazzle 的时候......

    但这是唯一可行的解​​决方案,因为 git externals 使得以这种方式工作真的很容易。

    最糟糕的是,一半的工作必须再次进入控制台......无法从 Android Studio 管理外部和添加 git Remote ......生活,我猜 :)

    关于Android Studio 过渡及使用子库/共享库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28256490/

    相关文章:

    android - 解决compileClasspath的依赖项时出错

    android - 多个dex文件定义 Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl;

    android - 所有 com.android.support 库必须使用完全相同的版本规范

    安卓工作室 : Remove default header

    android-studio - 我如何在 ubuntu 18 中安装 android studio 2.2

    android - 在 android 5.0.2 上不会调用自定义 View 构造函数

    android - 无法在 flutter 中合并dex

    android-studio - 在 Android Studio 中计算 CMake 服务器结果时出错

    android - 你如何赠送应用内购买

    android - 在 Android 10 设备中,生物识别提示失败,并且锁屏顶部始终显示“错误已取消”