我们可以合并两个安卓源并使用产品风格吗?

Posted

技术标签:

【中文标题】我们可以合并两个安卓源并使用产品风格吗?【英文标题】:Can we merge two android source and use product flavors? 【发布时间】:2020-03-08 10:51:42 【问题描述】:

我有两个具有相同源代码android 项目,两个应用程序中只有 应用程序图标更改。但我没有使用产品风味。现在我需要合并源代码并使用产品风味。所以有可能吗?

【问题讨论】:

建议你看看developer.android.com/studio/build/manifest-build-variables 谢谢@Jameido,但我没有找到我的解决方案。 【参考方案1】:

你要找的已经回答了here,基本上你需要做的是创建一个文件夹结构来反映 main->res->mipmap 结构,用你的风味名称替换 main,如下所示:

-src
  -main
    -res
  -app_one
    -res
      -mimap-*
        -ic_launcher.png
  -app_two
    -res
      -mimap-*
        -ic_launcher.png

编辑

合并 2 个项目的源代码后,您需要在 gradle 配置中创建 2 种不同的产品风格,并将清单占位符用于应用名称和包等内容:

productFlavors 
        app_one 
            applicationId "xxx.yyy.zzz"
        
        app_two 
            applicationId "aaa.bbb.ccc"
        
    

在你的清单中:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="$applicationId">

如果代码内容相同,你应该没有任何问题,只需在准备发布 apk 时选择正确的 buildVariant 和 keystore。

【讨论】:

不不,你不明白我的问题,我是说,我有两个不同的应用程序(不同的源代码)已经在 PlayStore 上发布,现在有很多错误(相同的错误在两个源代码),所以为了解决我需要解决两个源代码中的错误并且浪费时间所以我想合并两个源代码然后想要在其中解决错误,现在我的问题是我是否合并两个代码并创建既已签名的 APK 又使用新版本的 APK 将其上传到 PlayStore,那么有可能吗?或者它会给我任何错误? 谢谢@Jameido,我会试试你的答案。

以上是关于我们可以合并两个安卓源并使用产品风格吗?的主要内容,如果未能解决你的问题,请参考以下文章

小米手机安卓11可以更换安卓10的开机动画吗

安卓MD风格的布局记录

我们可以按风格组织存储库并构建变体吗

良好的编程风格,两个类使用彼此的内部类

蚂蚁设计风格

《领域驱动设计之PHP实现》 - 架构风格