我需要一些见解/建议/指针(尽可能详细)来实现我的Android应用程序的免费和付费版本。我使用IntelliJ IDEA进行SVN开发。
我的目标是维护一个代码库,通过简单的布尔值实现广告或付费功能,例如" useAds"或" useFeatureX"。除此之外,我认为所需要做的就是更改包和应用名称(?)
我已经看过一些关于将项目转换为图书馆的旧帖子以及其他更新的关于Gradle风味的文章(我从未使用过Gradle)。前者看起来很复杂,如果它能满足我的要求,我不太确定。后者听起来像是这样,但也许我对Gradle的不熟悉使它看起来比现在更令人生畏。
还有其他方法吗?是上面的方式之一去?安全性怎么样?我正在使用Proguard,我认为从免费版本的最终apk中删除未使用的代码/类?
谢谢,抱歉无知。
答案 0 :(得分:1)
由于基于gradle的新构建系统(NBS),您可以使用其中的风格。 我会给你一个教程的链接。只需使用谷歌查找更多详细信息
http://www.sajmons.com/news/gradlebuildwithfreeandpaidflavors
这是github上的完整项目
https://github.com/bmuschko/gradle-android-examples/tree/master/product-flavors
答案 1 :(得分:1)
使用gradle productFlavors是实现此目的的更简单方法。它允许您从单个代码库构建两个版本。
关于安全性,虽然Proguard可以帮助您从其中一个版本中删除未使用的类,但您可以自己尝试使用各种版本,因为如果您需要在一个版本中存在代码而不是每个版本,您可以实际提供单独的代码文件另一个。
对于您要使用的标记,您可以使用buildConfigField
轻松地将它们添加到您的gradle构建文件中。
您应该查看official documentation。我还写了一篇simple tutorial来展示如何使用flavor来构建应用程序的多个版本。
我想最好先学习一下gradle和android插件来构建简单的应用程序,然后开始深入了解它的扩展功能和配置。