Android 图书馆发布免费付费版本的方法

Android 图书馆发布免费付费版本的方法,android,google-play,Android,Google Play,我将在Android market/Google Play商店发布多个版本的应用程序。现在我正在寻找最好的方法来做到这一点 我在这里读到了很多关于如何以最简单的方式实现这一点的问题。 我不想创建特定于应用程序版本的活动,因为这很容易导致不同版本之间的代码不一致。所以我想用这个方法。这似乎也是最简单的方法,而不是我见过的所有需要大量ANT脚本等的例子 为了论证起见,我将有: com.app.library com.app.free com.app.paid com.app.paidmore 我

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

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

为了论证起见,我将有:

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

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

这种方法的缺点是什么

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

我认为修改代码来破解应用程序以获得完整功能需要做很多工作,但我说的对吗

如果超过五分钟,脚本kiddie的输入速度就太慢了。反编译,搜索并替换包名,重新编译

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

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


当然,脚本小子可以抓住你的
paidmore
版本并攻击它,因此你的
免费
付费
应用程序恰好具有
paidmore
功能这一事实并不是什么大问题。因此,IMHO最大的区别是APK大小,只有您知道不同版本之间的差异有多大,以及这是否是一个问题。

该死,完全忽略了这一点,傻瓜!那么我想我将在每个版本中定义一个
私有最终字符串包的名称
,并在应用程序执行任何操作之前将其与
PackageManager
找到的名称进行比较。至少ProGuard会混淆这一点,所以这就不那么容易了。你还有别的想法吗?apk的大小确实可能是个问题,这一点很好,但在我的情况下,它可能只会产生50的差异kilobytes@dmmh:“至少ProGuard会使它变得模糊,所以它会稍微不那么容易”--符号会是,但值不会是。“你还有其他想法吗?”——正如人们多次所说,你的问题不是盗版,而是默默无闻。首先要担心其他问题,比如你将如何营销你的应用程序。