我想有一种方法可以在代码的主要部分引用项目的清单版本号。到目前为止,我一直在做的是将 String XML 文件中的版本号链接到清单 (@string/Version)。我想做的是反过来,将字符串 XML 变量链接到清单中的版本。原因?我只想在一个位置更改版本号,即清单文件。有没有办法做到这一点?谢谢!
没有办法直接获取版本,但有两种解决方法可以完成。
版本可以存储在资源字符串中,并通过以下方式放入清单中:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.somepackage" android:versionName="@string/version" android:versionCode="20">
可以创建一个自定义视图,并将其放入 XML。视图将使用它来分配名称:
context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionName;
这些解决方案中的任何一个都允许将版本名称放在 XML 中。不幸的是,没有一个很好的简单解决方案,比如android.R.string.version或类似的东西。
android.R.string.version