使用Intellij Idea以维护一个码Base免费/付费版本的应用程序
-
21-12-2019 - |
题
我需要一些洞察/建议/指针(尽可能详细)来实现我的Android应用程序的免费和付费版本。使用SVN使用Intellij Idea开发。
我的目标是维护一个代码库,它通过像“USEADS”或“USEDFeatureX”这样的简单布尔值来实现广告或付费功能。除此之外,我认为需要发生的一切是包和应用程序名称已更改(?)我已经看到了一些关于将项目转换为图书馆的旧帖子和其他较新的refs谈论Gradle Flavors(我从未使用过Gradle)。前者似乎很复杂,如果它做了我正在寻找的东西,我并不肯定。后者听起来像它,但也许我的陌生性陌生,它看起来比它更令人生畏。
还有其他方式吗?是上述方式之一吗?安全性怎么样?我正在使用proguard,我认为从免费版本的最后APK删除未使用的代码/类?
谢谢,抱歉无能为力。
解决方案
使用Gradle ProductFlavors是实现这一目标的更容易的方法。它将允许您从单个代码库构建两个版本。
关于安全性,而Proguard将帮助您从其中一个版本剥离未使用的类,则可以使用Flavors来做,因为您实际上可以在一个版本中存在代码但不是不需要代码而实际提供单独的代码文件另一个。对于您要使用的标志,您可以通过使用buildConfigField
轻松地将它们添加到Gradle构建文件中。
您应该检查官方文档。我还写了一个简单的教程展示如何使用flavors构建多个版本的应用程序。
我猜最好学习关于Gradle和Android插件的一点,以便在构建简单的应用程序中,然后开始潜入其扩展功能和配置。
其他提示
由于新的构建系统(NBS)基于Gradle,您可以使用Flavors。 我会给你一个关于教程的链接。只需使用Google查找更多详细信息
http://www.sajmons.com/news/gradlebuildwithfreeAndpaidflavors
和这里是github上的完整项目
https://github.com/bmuschko/gradle-Android-examples /树/硕/产品 - Flavors
不隶属于 StackOverflow