2

我将向 Android 市场/Google Play 商店发布多个版本的应用程序。现在我正在寻找最好的方法来做到这一点。

我在这里阅读了很多关于如何以最简单的方式实现这一目标的问题。我不想创建特定于应用程序版本的活动,因为这很容易导致不同版本之间的代码不一致。所以我想使用图书馆的方法。这似乎也是最简单的方法,而不是我见过的所有需要​​大量 ANT 脚本等的示例

为了论证的缘故,我将拥有:

  • com.app.library
  • com.app.free
  • com.app.paid
  • com.app.paidmore

我的想法是将库中的代码基于包名称。我的部分活动不会显示或仅基于包名称禁用功能。这种方法有什么缺点?我似乎找不到任何东西,但我对这些意见感到好奇。当然,所有应用程序版本在某种意义上都包含所有功能,但该功能会被代码动态禁用。我认为修改代码以破解应用程序以获得完整功能将是很多工作,但我是对的吗?

这种方法似乎是错误的,因为很容易修改 apk 并以修改后的方式分发它。

4

1 回答 1

0

这种方法有什么缺点?

您的应用程序最终变得比它需要的更大(例如,驻留在免费用户设备上的付费功能)。而且,正如您所注意到的,它将所有功能都放在用户的设备上。

我认为修改代码以破解应用程序以获得完整功能将是很多工作,但我是对的吗?

如果超过五分钟,脚本小子打字太慢了。反编译,搜索并替换你的包名,重新编译。

这种方法似乎是错误的,因为很容易修改 apk 并以修改后的方式分发它。

这种方法实际上可能需要更多时间——可能整整十分钟——因为脚本小子可能需要更长的时间才能准确找出需要更改的资源。

当然,脚本小子可以抓取您的paidmore版本并对其进行攻击,因此您freepaid应用程序恰好具有paidmore功能这一事实并不是什么大问题。因此,恕我直言,最大的区别是 APK 大小,只有您知道版本之间的差异有多大以及是否存在问题。

于 2012-12-22T14:07:21.007 回答