起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7650|回复: 15

[结贴] 安卓打包,无法降级安装

[复制链接]

20

主题

72

帖子

492

积分

中级会员

Rank: 3Rank: 3

积分
492
QQ
发表于 2017-12-28 08:25:11 | 显示全部楼层 |阅读模式
同样的包,在3.7正常打包,复制到3.8打包
同样的设置,打包完成

安装到手机的时候
提示无法降级安装

安卓

20

主题

72

帖子

492

积分

中级会员

Rank: 3Rank: 3

积分
492
QQ
 楼主| 发表于 2017-12-28 09:38:33 | 显示全部楼层
我原先手机里有 3.7 的包
回复 支持 反对

使用道具 举报

发表于 2017-12-28 10:57:30 | 显示全部楼层
打包时候,app版本号是否设置递增,或者设置app版本号比之前大呢??
如果app版本号 比之前大,就应该能覆盖安装,否则就安装不上

如果版本号大了还提示无法降级安装!  就可能是存在bug 了 ,你先试试

qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

20

主题

72

帖子

492

积分

中级会员

Rank: 3Rank: 3

积分
492
QQ
 楼主| 发表于 2017-12-28 12:39:36 | 显示全部楼层
我已经递增了,
3.7版本的是 1.0.1
3.8版本的是1.0.2
回复 支持 反对

使用道具 举报

20

主题

72

帖子

492

积分

中级会员

Rank: 3Rank: 3

积分
492
QQ
 楼主| 发表于 2017-12-28 13:00:38 | 显示全部楼层
我记得当初。3.6 升级到 3.7的时候
也是同样的版本号问题
后来,你们替换了一个文件,才弄好的
/Native/templates/advanced/platforms/android/build.gradle
回复 支持 反对

使用道具 举报

20

主题

72

帖子

492

积分

中级会员

Rank: 3Rank: 3

积分
492
QQ
 楼主| 发表于 2017-12-28 13:08:33 | 显示全部楼层
liangyongfei 发表于 2017-12-28 10:57
打包时候,app版本号是否设置递增,或者设置app版本号比之前大呢??
如果app版本号 比之前大,就应该能覆 ...


我已经递增了,
3.7版本的是 1.0.1
3.8版本的是1.0.2

我记得当初。3.6 升级到 3.7的时候
也是同样的版本号问题
后来,你们替换了一个文件,才弄好的
/Native/templates/advanced/platforms/android/build.gradle

还有一个地方,
我注意到,安卓的这个文件有改动
model\Native\templates\advanced\platforms\android\AndroidManifest.xml

QQ图片20171228130244.png
QQ图片20171228130454.png
回复 支持 反对

使用道具 举报

发表于 2017-12-28 13:53:45 | 显示全部楼层
本帖最后由 liangyongfei 于 2017-12-28 14:02 编辑
jijiuc 发表于 2017-12-28 13:08
我已经递增了,
3.7版本的是 1.0.1
3.8版本的是1.0.2

那你可以先将3.8的这个替换回去,再试试

你好楼主,这个问题需要我在本地环境进行问题重现,所以会花费较长时间,请你耐心等待,我完成后会第一时间反馈结果,谢谢!2017122800004
你好楼主,您反馈的这个现象通过验证是产品缺陷,我们已提交到产品组(内部编号:2017122800004),感谢楼主的支持与配合。
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

3

主题

304

帖子

798

积分

高级会员

Rank: 4

积分
798
QQ
发表于 2017-12-28 21:27:52 | 显示全部楼层
本帖最后由 jleeh 于 2017-12-28 22:22 编辑
jijiuc 发表于 2017-12-28 09:38
我原先手机里有 3.7 的包

我们一般在发布app之前,都会设置版本号。versionCode和versionName。简单解释一下:
android:versionCode:主要是用于版本升级所用,是INT类型的,第一个版本定义为1,以后递增,这样只要判断该值就能确定是否需要升级,该值不显示给用户。
android:versionName:这个是我们常说明的版本号,由三部分组成<major>.<minor>.<point>,该值是个字符串,可以显示给用户。
在app编辑的那个字符串版本号实际是versionName,你的verisonCode是cordova自动生成的。修改model/Native/templates/advanced/platforms/android/build.gradle文件 把179 行修改为:versionCode cdvVersionCode ?: new BigInteger("" + privateHelpers.extractIntFromManifest("versionCode") + "0") 即可解决你的问题。
回复 支持 反对

使用道具 举报

3

主题

304

帖子

798

积分

高级会员

Rank: 4

积分
798
QQ
发表于 2017-12-28 21:39:42 | 显示全部楼层
versioncode的查看方式还可以这样做:到这个目录下面:tools/adt-sdk/build-tools/25.0.2,执行:
aapt.exe dump badging [apk路径名] 也能打印出该apk的版本号versionCode='xxx',你一定要记住你前面那个apk的版本号,才能设置后面的版本号数字。
回复 支持 反对

使用道具 举报

3

主题

304

帖子

798

积分

高级会员

Rank: 4

积分
798
QQ
发表于 2017-12-28 21:57:19 | 显示全部楼层
我刚才确认了一下,3.8版本的cordova versionCode的生成方式是:
例如:versionName 是: 1.0.2 对应的 verisonCode是:10002
        versionName 是: 1.1.2 对应的 verisonCode是:10102
他会把小数点替换成0,然后变成一个数字版本号
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-11-23 20:01 , Processed in 0.095441 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表