我有一个 Android 应用程序项目,其中包含我的所有代码。我已将此“应用程序”作为定义的库项目 here at android.developer.com. .
因此,我创建了两个利用这个库项目的新 Android 项目。每个新项目的新包名称是:
com.myapps.freeapp
com.myapps.paidapp
正如您可能看到的,我正在尝试发布该应用的免费和付费版本。
告诉图书馆项目所安装的应用程序是免费版本还是付费版本的最佳方式是什么?
最佳答案
这是来 self 的blog post描述了如何使用库项目构建免费/付费版本。
通常,您将创建三个项目;一个免费项目、一个付费项目和一个图书馆项目。
然后,您将在库项目中创建一个 Build.java 文件,如下所示:
public class Build {
public final static int FREE = 1;
public final static int PAID = 2;
public static int getBuild(Context context){
return context.getResources().getInteger(R.integer.build);
}
}
现在,您将在每个项目中创建一个 build.xml 资源:
[库]/resources/values/build.xml:
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<integer name="build">0</integer>
</resources>
[免费]/resources/values/build.xml:
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<integer name="build">1</integer>
</resources>
[付费]/resources/values/build.xml:
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<integer name="build">2</integer>
</resources>
然后您将能够在运行时检查版本:
if (Build.getBuild(context) == Build.FREE){
// Do the free stuff
} else {
// Do the paid stuff
}
blog post详细介绍了在 Linux 命令行中从头开始创建项目所需的确切步骤。
关于Android 应用程序版本(免费和付费)- 告诉图书馆项目类应用程序是免费还是付费,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6822672/