Android 如何在Eclipse中管理免费和付费应用程序?

Android 如何在Eclipse中管理免费和付费应用程序?,android,eclipse,Android,Eclipse,我目前有一个有几个客户的实时付费Android应用程序。我计划发布一个免费版本,但我有几个问题: 我曾考虑过通过应用内支付将付费应用程序转换为免费应用程序以解锁完整版本,但在我将其转换为freemium之前,我需要一种方法来知道哪些用户已经为该应用程序支付了费用-谷歌签出仅提供订单ID,而不提供手机的IMEI或任何识别购买内容的信息,这样他们就不必再次购买该应用程序以解锁完整功能 第二个选择是创建另一个项目,免费版本的付费应用程序。但我认为这是一个丑陋的解决方案——我必须更新两个几乎相同的代码库

我目前有一个有几个客户的实时付费Android应用程序。我计划发布一个免费版本,但我有几个问题:

我曾考虑过通过应用内支付将付费应用程序转换为免费应用程序以解锁完整版本,但在我将其转换为freemium之前,我需要一种方法来知道哪些用户已经为该应用程序支付了费用-谷歌签出仅提供订单ID,而不提供手机的IMEI或任何识别购买内容的信息,这样他们就不必再次购买该应用程序以解锁完整功能

第二个选择是创建另一个项目,免费版本的付费应用程序。但我认为这是一个丑陋的解决方案——我必须更新两个几乎相同的代码库?还是可以通过某种方式避免/自动化?Eclipse中是否有任何工具可以编写脚本来帮助我生成免费版本

您可以在SharedReferences中发布一个标志,用于确定应用程序是否在MODE_PRIVATE中支付。但是要注意:根手机可以修改它们

我不认为有一个工具,只是复制付费和重构->重命名包。这不是太多的工作


对于2-以下是您必须做的:

将当前项目更改为Android库项目。 创建两个新项目:XXXPaid和XXXFree,它们在AndroidManifest中具有不同的包ID com.x.y。两者都应该使用上面1中创建的Android库项目。如果要更新,请保留当前付费应用程序包名称。 你完了。将这两个应用程序上传到Google Play商店,一个收费$,另一个免费。 不需要复制任何代码。 更妙的是,您可以覆盖新项目中的任何资源或代码,以区别您创建的两个产品。

对于选项2,这是正式的解决方案