我可以在不涉及 gradle 的情况下对 Android 应用程序进行版本控制吗?
Posted
技术标签:
【中文标题】我可以在不涉及 gradle 的情况下对 Android 应用程序进行版本控制吗?【英文标题】:Can I version an Android app without involving gradle? 【发布时间】:2016-10-14 08:56:43 【问题描述】:我在android
上有一个QtApp
,它使用ant
构建。这工作正常。
但是 ----> 要定期在 google Playstore 上更新我的应用,我需要增加应用的版本号。我发现 gradle 有一个很好的方法来增加版本号。但我看到 gradle 引入了许多其他的复杂性。我想在 ant 工作时保持这个简单。
难道没有一种简单的方法可以在不使用 gradle 的情况下使用 ant 增加版本号吗?
我真的应该考虑从 ant 切换到 gradle 吗?在 android 上使用 gradle 有很多强有力的理由吗?
【问题讨论】:
gradle这么难怎么办?所有 Android 库都可以使用 gradle 轻松获取。版本控制很简单。那么使用它有什么不好呢?为什么不使用官方的 IDE Android Studio? @Felix。因为我的应用程序是使用 Qt 构建的。因此,我正在使用 QtCreator。使用 Qt ant 是默认设置。使用 gradle,我必须输入 gradle wrapper、wrapper.properties、build.gradle 并在 sr/main 中构造代码。我明白了这一切。还有一个 version.properties 并让版本控制工作。现在我的应用程序正在使用 gradle 构建一个 apk。但是,我在我的应用程序中使用静态 C++ 库,默认情况下 gradle 不会拾取:因此应用程序崩溃。我也会解决这个问题。但是所有这些工作只是为了让版本控制继续下去??因此提出这个问题来检查它是否真的值得。 简单地说:不要使用 Qt。 Qt 适用于桌面应用程序,但没有人会更喜欢 Qt 而不是 Android Studio。 @NelsonP 正如 Felix 在我的回答下面写给你的那样,你不会通过使用 gradle 来实现自动版本控制(默认情况下),所以就保持原样。但请记住,您可能应该从使用 Android Studio 开始的新项目才能使用最新的 android ide 功能。 【参考方案1】:-
您可以在manifest directly 中设置
versionCode
和versionName
。经过
gradle 做同样事情的方式,它只是将你的清单与
根据build.gradle
文件生成附加字段
你应该明确地使用gradle,它与ant相比有很多特性。 Android Studio 完全支持 gradle,它比 ant 更可定制、更灵活。您可以轻松地将项目转移到您的团队中,但是对于 ant,这可能会导致依赖项冲突带来很多麻烦。因此,动态加载依赖项是一个 gradle 功能,它有很大帮助。我没有写更多,因为你可以自己检查所有的gradle特性。我刚刚给了你一个理事会
【讨论】:
我的清单文件中已经有versionCode
和 versionName
。但是如何在不使用 gradle 的情况下在每次构建时自动增加它?蚂蚁不可能吗?
即使在 Android Studio 中使用 gradle,您也必须手动增加它。这很好。您不想在每次构建项目时都增加它。
好的。感谢您的解释。在 android 项目构建中自动增加版本代码的最佳方法是什么?有什么建议吗?以上是关于我可以在不涉及 gradle 的情况下对 Android 应用程序进行版本控制吗?的主要内容,如果未能解决你的问题,请参考以下文章
我可以在不重新构建的情况下对 Maven 构建中的文件进行更改吗?
我可以在不创建实体类的情况下对大型 sql 使用休眠命名查询吗?
如何在不考虑最后一个空白行的情况下对 jqGrid 进行排序