android - 导出 APK 时的不同模块

标签 android android-studio groovy gradle android-gradle-plugin

我有 2 个 eclipse 项目,一个用于平板电脑,另一个用于手机。这些项目正在导入相同的另一个名为 API 的项目。

我的目标是迁移到 Android Studio。

我创建了一个电话项目并使用电话(执行)和 api(库)模块成功编译。

API 是共享模块,两个平台都使用相同的类。

  • 另一种方法是为手机项目创建一个平板电脑模块,并使用 gradle 对其进行配置以导出正确的 APK。我能做到吗?如果是这样,怎么做?

  • 或者
  • 使平板电脑和手机项目像其他库一样从远程编译此 API 模块。我正在使用Gitlab,那么我怎样才能使它mavenized并从gitlab引用并强制它始终使用最新提交?

  • 谢谢你的帮助。。

    祝我好运 :)

    最佳答案

    正如建议的那样,您可能应该首先使您的两个版本成为同一应用程序的两种风格。这样他们就可以共享任何常见的资源,例如 fragment 和图像,但如果需要,他们仍然拥有自己的版本。更多信息请访问 Android Gradle user guide

    在您的项目中,您可以将共享库作为库项目,该库项目将与应用程序的其余部分一起编译,这意味着源代码将与平板电脑和手机版本位于同一位置。

    它可能看起来像这样:

    | app
    | - src
    | -- tablet flavor
    | -- phone flavor
    | libs
    | - shared library project
    

    如果您是 Gradle 新手,我绝对建议您通读文档,因为您可以做很多漂亮的事情。

    您也可以将其作为远程依赖项。我最近看到几个项目使用 Jitpack.io以 GitHub 上的存储库作为源。看起来您将不得不使用 GitHub 的 Releases 功能,但这很容易做到。

    关于android - 导出 APK 时的不同模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32481302/

    相关文章:

    android - 如何解决 Gradle 同步失败错误(DefaultMavenFactory)?

    android-studio - 代码片段作为工具提示漂浮在半空中,无法隐藏,提取方法后 [IntelliJ Idea/Android Studio]

    grails - 配置Activiti BPM?

    gradle - 从 gradle/groovy 中的路径创建目录结构

    android - Firebase FCM 事务通知(主题与注册 token )

    java - 通过 Wi-Fi Direct 广播

    java - 如何创建一个包含要在 Intent 中使用的类的变量

    grails - 动态Groovy上传到Grails应用程序

    android - 实现 Android 深度链接的最小 API

    android - Package Explorer 的 Android Studio 键盘快捷键是什么?