java – 如何获取依赖包的版本代码?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 如何获取依赖包的版本代码?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1590字,纯文字阅读大概需要3分钟。
内容图文
![java – 如何获取依赖包的版本代码?](/upload/InfoBanner/zyjiaocheng/788/72e209b71e114a359621cdc4786eff89.jpg)
我试图获取在不同项目中编译的包的版本代码,并将其作为依赖项链接到此项目中.我经常对这两个项目进行更改,所以我想知道版本号.
这里的解决方案:How to get the build/version number of your Android application?显示了如何从上下文获取版本代码,但这将产生当前项目中的包的版本代码,而不是依赖的版本.
这是我尝试过的代码(3-Scenarios):
public static int getPackageVersion(Context context, Class<?> tClass) {
int versionCode = 0;
//#1) Get Package name from class
String packageName = tClass.getPackage().getName();
//#2) Set Domain manually to top level package
//String packageName = "com.somedomain";
//#3) Get package name from context from this package
//String packageName = context.getPackageName();
Log.i(TAG, packageName);
try {
versionCode = context.getPackageManager().getPackageInfo(
packageName, 0).versionCode;
} catch (PackageManager.NameNotFoundException e) {
Log.e(TAG, packageName);
throw new RuntimeException();
}
return versionCode;
}
#1)显示该方法最初的功能,它使用packageName作为类.结果在NameNotFound中.
#2)我手动设置依赖包的顶级packageName,这与context.getPackageName()返回的类似.结果在NameNotFound中.
#3)我使用了context.getPackageName(),代码返回了这个项目中包的版本代码 – 正如预测的那样,但不是我需要的结果.
我已经有了一个不优雅的黑客攻击,我只是将版本号作为一个字段存储在其中一个类中,但是一个合适的解决方案(如果存在的话)会很棒.
解决方法:
一个合适的解决方案是使用BuildConfig文件来存储这些值(对于每个项目/子项目).
Android Gradle插件已包含以下字段:
android {
defaultConfig {
versionCode 1
versionName "1.0.0"
}
}
然后使用your.package.name.BuildConfig.VERSION_NAME或your.package.name.BuildConfig.VERSION_CODE获取该字段
内容总结
以上是互联网集市为您收集整理的java – 如何获取依赖包的版本代码?全部内容,希望文章能够帮你解决java – 如何获取依赖包的版本代码?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。