React-Native针对不同CPU架构打包后,android原生的versionCode会改变

535 阅读1分钟

在使用react-native进行android软件开发时,官方默认打包apk的方式,会导致apk文件较大。官方推荐了一种打包方式,即针对不同CPU进行分开打包,该种方法大大的减少了apk的大小。但同时也会带来一个问题,即不同cpu的apk安装后,android原生中的versionCode会添加后缀

1、发生场景

图片.png

2、打包后生成的多个apk

图片.png

3、打包后的不同apk,其android中的versionCode会被自动加以后缀

图片.png

4、结论

这是针对不同CPU打包做的自动处理,暂未找到根本解决方法。作者需要根据versionCode版本判断是否需要更新,当前的解决方法是在RN端做 parseInt(versionCode/1000)处理。

例:①versionCode如果默认是102 ②打包后的apk会自动加后缀可能变成:102001(不同CPU版本后缀001-004) ③通过parseInt(versionCode/1000)处理后,可得到想要的102版本code数据

后续: 经过后面研究发现,在app的build.gradle文件中,可以修改apk的生成规则,以及versionCode的生成方式.见下图:

图片.png

图片.png