Android 单程序-双版本(免费和高级)

Android 单程序-双版本(免费和高级),android,key,Android,Key,如何实现应用程序的双重版本,例如免费版和高级版 是否可以只在高级版本中显示某些控件,如EditTexts、Buttonms等?我认为最好的方法是将两个版本分为两个库项目;因此,在其中一个中,您只添加免费版本,在另一个中添加完整版本 它们中的每一个都应该有自己的结构文件,例如可绘制资源、清单。。。您可以在其他几个StackOverflow问题中找到更多信息,例如(只需在谷歌上搜索一下,您就会发现一堆问题)。当然是这样。您可以在免费应用程序中执行findviewbyd(R.id.premium).s

如何实现应用程序的双重版本,例如免费版和高级版


是否可以只在高级版本中显示某些控件,如
EditText
s、
Buttonm
s等?

我认为最好的方法是将两个版本分为两个库项目;因此,在其中一个中,您只添加免费版本,在另一个中添加完整版本


它们中的每一个都应该有自己的结构文件,例如可绘制资源、清单。。。您可以在其他几个StackOverflow问题中找到更多信息,例如(只需在谷歌上搜索一下,您就会发现一堆问题)。

当然是这样。您可以在免费应用程序中执行
findviewbyd(R.id.premium).setVisible(View.GONE)
以隐藏仅在premium版本中可见的控件


您可能还对。

感兴趣,但这样做您必须维护两个独立的版本,可能会在其中一个版本中引入错误,或者忘记在一个版本中更新某些内容。。。当然这是一个选择,但这是一个痛苦的屁股!是的,当然它们是两个独立的版本,但是您的两个实现版本也是!假设一个功能取决于另一个的存在,你必须在你的一个版本中启用/禁用这两个功能,并跟踪很多细节,但这是赚钱的代价。我会选择可见/不可见的解决方案。在我看来,它更容易维护。只需在运行时启用一些功能(默认情况下禁用),您就完成了。这些将由许可证文件启用(其中有一些函数返回一些特殊代码,当文件存在时,您可以在应用程序中检查这些代码-或者文件包含一些二进制位,可能隐藏在图像或声音文件中,或者完全随机的某个位,但某些计算位置的位除外);)@NKN的解决方案也是有效的。这取决于高级版本与免费版本的区别。如果存在很大差异,则库项目或分支(以及合并常见更改)是更好的选择。另一个方面是安全性:如果您想通过更改apk来防止用户侵入您的高级功能,那么最好提供一个没有编译这些功能的额外apk。