【问题标题】:Options for organizing android app with multiple independent apps使用多个独立应用程序组织 android 应用程序的选项
【发布时间】:2012-09-24 15:36:26
【问题描述】:

问题定义:我们有一个相当大的应用程序,它有多个用例,因此它们都相互独立。例如,假设我们有 a1、a2、a3 和 a4 模块,它们是独立的应用程序或主应用程序“A”的用例。独立的 a1、a2、a3、a4 都是可购买的应用程序,因此用户访问我们的网站而不是游戏商店并通过在我们的网站上支付一些费用来激活 a1 或 a2。

所以基本上,App 'A' 是 Play-store 中的免费应用程序,是一种带有用于启动 a1、a2、a3、a4 的按钮的仪表板。当用户点击让我们说 a1 按钮时,我们将检查 a1 是否已安装并启动它,但如果它不存在,则给用户一个下载链接。

选项 1: 将主应用“A”和 a1、a2、a3、a4 作为库项目。但是使用这种方法,主应用 A 的大小太大了。

选项 2: 将 a1、a2、a3、a4 构建为单独的 .apk,然后放入主应用程序“A”的 assets 文件夹中,然后根据需要安装它们。主应用 A 的大小再次变大。

选项 3: 将 a1、a2、a3、a4 上传到第三方网站或 Play 商店并根据需要从中下载。这样主应用程序就更轻了。

观察:在所有这些方法中,都会在用户手机上安装一个带有自己图标的独立应用程序。所以基本上用户可以从仪表板启动(最终将在 a1 应用程序中从 Activity 启动一个意图),或者用户可以直接启动应用程序 a1。

后续问题:是否有任何其他人可以建议解决此类问题的解决方案?另一件事是通过这种方法,应用程序 a1、a2、a3、a4 可以相互独立地开发和测试。

【问题讨论】:

    标签: android android-intent maven-3


    【解决方案1】:

    对于它的价值,我会选择 3 到 Play 商店。这是最容易管理和最知名的。比非 Google 网站更受信任。 '当然他们喜欢那 30%...

    对于您的跟进,我假设是 Eclipse。如果您使用其他东西,请执行类似的操作。

    当您将某些内容移至生产环境时,请创建一个发布包(文件夹)。包装内有:

    1. APK
    2. 包含 .classpath、源等的导出文件结构。可以将其作为项目导入。
    3. 任何支持文件,例如图标集、原始数据等。
    4. 用于签名的密钥库副本。
    5. 您的最终 SD 卡图像的副本。
    6. Play 商店中的营销信息副本。

    将其多次备份到不同的驱动器。我也刻录 DVD。

    当您处理下一个版本时,将您需要的内容复制到一个新的、待定的版本包中。不要修改当前的发布包。 创建一个新的工作区。 将 sdcard 复制到 sdcard 文件夹。 通过重命名当前文件结构,然后导出包含更改的文件结构,在开发过程中进行基准测试。

    在开发过程中,每天至少一次使用导出复制工作区文件结构。只需几秒钟。

    根据需要添加到此过程。这个想法是,在您发布到 Play 商店之前,您确保所有内容都保存到包含 apk 的发布包中。然后不对包进行任何更改。如果生产版本有错误,请启动新版本。

    这是所有标准的编程实践。您可能已经知道这一切。问题在于执行规则。你比任何人都更了解你的环境。您所要做的就是研究可以在发布包中放置哪些组件,以便您在以后复制该环境。然后你必须执行规则。或者让自己跟随他们。

    人们倾向于对源代码进行快速修复或更改,并在上一个生产环境的基础上进行构建。没有人愿意在凌晨 2 点遵守规则。你可能不得不诉诸肢体暴力(知道咏春拳吗?)。或者可以派 Guido 来确保遵守规则。

    玩得开心。做一个研究。如果您遇到硬盘崩溃,请询问您的所有员工如何恢复到原始状态。这就是你的发布包中的内容。 (这也是您应该每天备份的内容。)

    好吧,我已经讲了足够长的时间来告诉你你已经知道的事情。希望我已经引发了一些想法。你会很好的,你听到了。

    【讨论】:

    • 哎呀。我留下的印象是您在开发环境中重命名文件结构。不是我想要的。重命名目标端的文件结构。然后导出到目标。
    • 感谢霍华德的回复。我将与我的团队讨论,很可能我们无论如何都倾向于使用 Play 商店的选项 3。我们只是想确认我们并不是在这样做的,而且似乎人们已经在这样做了。
    猜你喜欢
    • 2014-10-20
    • 2013-11-30
    • 1970-01-01
    • 1970-01-01
    • 2012-05-18
    • 2012-12-28
    • 1970-01-01
    • 2010-09-08
    • 2014-07-15
    相关资源
    最近更新 更多