0

Problem Definition: We have a fairly large app which has multiple use cases such that they are all independent of each other. For example lets say we have a1, a2, a3 & a4 modules that are independent apps or use cases for our main app 'A'. The independent a1, a2, a3, a4 are all purchasable apps such that the user goes to our website instead of play store and activate either a1 or a2 by paying some fees on our website.

So basically App 'A' is a free app in play-store and is sort of Dashboard with buttons to launch a1, a2, a3, a4. When the user click on lets say a1 button then we will check if a1 is already installed and launch it but if it is not present then give the user a link to download it.

Option 1: Have a main app 'A' and a1, a2, a3, a4 as library project. But with this approach the main app A is too big in size.

Option 2: Have a1, a2, a3, a4 build as separate .apk and then put in the assets folder of main app 'A' and then install them as needed. Again size of main app A is bigger.

Option 3: Upload a1, a2, a3, a4 to a third party website or play store and download from it as needed. This way the main app remains lighter.

Observation: In all these approaches there will be an independent app installed with its own icon on users phone. So basically user can launch from either the Dashboard (which will eventually launch an intent from Activity in a1 app) or user can directly launch app a1.

Follow-up Question: Is there any other solution that anyone can suggest to tackle this kind of problem? Another things is by going this approach app a1, a2, a3, a4 can be developed & tested independently of each other.

4

1 回答 1

0

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

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

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

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

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

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

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

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

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

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

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

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

于 2012-09-25T02:28:45.713 回答