2012-04-10 122 views
2

似乎维护免费/付费应用版本的共识是使用库,并从每个活动设置一个标志以从代码中获得不同的功能基础。使用库来维护免费/付费的应用版本

这有多安全?我坚持认为一个人可以为他们的手机打电话,获得APK,并且这可以被反编译。即使代码被混淆了,也不难看出应用程序是带有标志的包装,并且修复了标志。这可以接受吗?我意识到总会有解决问题的办法,但这个看起来很容易。

在Eclipse中没有一种方法可以使用构建标记来编译不同版本的代码,以便完整的代码不会在免费版本中被发布出来吗?

在Android TicTacToe sample code中,Activity启动另一个Activity。在我的应用程序中,使用单独的Light和Pro包处理库,如果我实现此方法,则加载基本视图,然后加载子视图,然后从子视图返回,以显示空白父视图。解决方法是扩展库中的主要活动,而不是扩展到基本活动中的setContentView?

回答

1

我不会建议你只维护一个APK项目。相反,我建议你总共创建三个项目;一个是图书馆本身,一个是免费APK,另一个是付费APK。使用这个计划,你的“免费APK”项目本身就没什么用处;它将有效地成为图书馆的载体(尽管你可以在适当的情况下添加自己的代码)。 “付费APK”将提供额外的功能,并告诉图书馆使用它(通过回调,反思,无论对你有意义)。这解决了您对携带代码的担忧,您不打算在该版本中使用代码,并且它不需要Eclipse或任何其他构建环境的特殊功能。

+0

我确实有三个APK项目,库,免费和付费,只是标识了免费/付费之间的功能。您是否有任何在该应用程序中添加其他付费功能并从库中调用它的示例? – CraPo 2012-04-10 14:41:23

+0

@CraPo我没有一个例子,但作为一名Android开发人员,您已经意识到如何提供回调(例如实现OnClickListener所需的)。我的建议是,您的付费应用程序使用回叫初始化库,只存在于付费APK中,而免费APK无需初始化这些或为不同功能初始化它们(例如将用户带到应用的市场网址)。回调方法与使用反射相比更容易(虽然可能不那么强大)。您的回拨将取代您的旗帜。 – mah 2012-04-10 15:57:53

相关问题