最近开发遇到要自动更新,那就涉及到读取版本号,结果按照广大的给androidmanifest xml文件添加versioncode和versionname的办法,怎么修改都没用,读取出来的都是1和1.0,我还以为方法写错,各种百度,发现和我遇到一样的问题的大有人在,但是按照他们的方法都没有解决。
后来在project structure中的flavors中找到了版本和版本号的字段,改这个,再读取就正确啦。记录下来给以后像我这样的新人少走点弯路吧。顺便发俩我改的读取版本号的函数吧。
//获取版本 private String getVersionName() throws Exception { //获取版本号,对应 Project Structure 中 Flavors 下的 Version Name //getPackageName()是你当前类的包名,0代表是获取版本信息 return getPackageManager().getPackageInfo(getPackageName(), 0).versionName; } //获取版本号 private int getVersionCode() throws Exception { //获取版本号,对应 Project Structure 中 Flavors 下的 Version Code //getPackageName()是你当前类的包名,0代表是获取版本信息 return getPackageManager().getPackageInfo(getPackageName(), 0).versionCode; }