好的,我从清单中读取了几个关于获取versionName的线程,就像在About对话框中使用一样.注意到两种技术.我做到了两种方式,都提出了1.0版,这不是我在清单中所拥有的.我发现没有任何帖子注意到同样的问题.我在Android Studio工作.
清单中的行:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.wabner.awesome_app"
android:versionCode="23"
android:versionName="0.70b">
<uses-permission android:name="android.permission.INTERNET" />
关于DialogFragment的行:
Context c = getActivity().getApplicationContext();
String versionName = "";
try {
versionName = c.getPackageManager().getPackageInfo(c.getPackageName(), 0).versionName;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
TextView tv1 = (TextView) view.findViewById(R.id.version_number);
tv1.setText(versionName);
或者,更简单的方法:
TextView tv1 = (TextView) view.findViewById(R.id.version_number);
tv1.setText(BuildConfig.VERSION_NAME);
我可能错过了一些明显的东西,但是,我是Android新手.累了.睡觉…
几分钟后……如果应用程序打包分发,是否可以访问版本号?
解决方法:
如果您正在使用gradle构建系统,那么清单中的versionCode和versionName字段将被build.gradle中的值覆盖.
所以,转到module的build.gradle,更改versionCode / versionName,它必须是这样的
android {
...
defaultConfig {
...
versionCode 23
versionName '0.70b'
}
...
}
您可以使用您提到的第一种方式进行检查
标签:android,version,manifest 来源: https://codeday.me/bug/20190717/1490163.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。