【问题标题】:Generate multiple APK from one single project从一个项目生成多个 APK
【发布时间】:2014-12-17 13:46:52
【问题描述】:

我正在尝试了解如何从一个项目生成多个 APK。

我正在使用 gradle,这是我项目的三个:

  • ambrogiocore 是实现所有通用类和资源的核心库模块。
  • ambrogioremote 是具有 :ambrogiocore 依赖的模块。

这是工作。现在我可以生成多个 APK。 (目前只有一个) 每个模块一个 apk。

问题是我需要手动同步所有 AndroidManifest.xml,以便将来包含在我的项目中的每个模块。

这是正确的方法吗? 我可以自动执行此操作吗?

我看了productFlavor。只是我不明白这个工具是否可以帮助我。

你怎么看?

谢谢大家!

**解决方案**

终于!我找到了@Kai 提出的相同解决方案!

味道才是王道!

这是最好的方法有很多原因:

  • 单模块项目
  • 您不需要复制 XML 文件
  • RoboGuice 会像魅力一样工作。 (RoboGuice 在图书馆项目中提出了一些大问题)

http://www.techotopia.com/index.php/An_Android_Studio_Gradle_Build_Variants_Example

【问题讨论】:

    标签: android build gradle apk


    【解决方案1】:

    如果“一个单一的源核心和扩展“ProductName”、“PackageName”和“resources”的多个项目,您的意思是为每个风味提供唯一的“ProductName”、“PackageName”和"resources",然后是的就可以了。

    要为每种口味提供自己独特的包装,请为您的每种口味设置applicationId,如下所示:

    android {
        productFlavors {
            flavor_1 {
                applicationId = 'com.app.flavor_1'
            }
    
            flavor_2 {
                applicationId = 'com.app.flavor_2'
            }
        }
    }
    

    要为每个风味赋予其自己的应用名称和资源,只需将它们放在风味自己的目录中,Gralde 就会将风味的资源与您的基础资源合并以创建完整的资源。

    有关 Gralde 风味如何发挥作用的更多详细信息,请参阅 Gradle Plugin User Guide

    【讨论】:

      【解决方案2】:

      这是我的最终解决方案!

      • 所有公共文件、清单和基础资源都在 "src/main"
      • 我将我的项目移到 "src/projects"
      • 声明了两个 productFlavor(每个项目一个)指定 applicationIdversionName
      • 创建了两个 sourceSet(每个项目一个)指示特定的 res 文件夹。

      【讨论】:

        猜你喜欢
        • 2016-11-02
        • 1970-01-01
        • 2020-05-12
        • 1970-01-01
        • 2021-03-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-11
        相关资源
        最近更新 更多