安卓原生插件在uni-app的package.json中添加parameters参数后写入的值不正确

安卓原生插件在uni-app的package.json中添加parameters参数后写入的值不正确

操作步骤:

预期结果:

正常写入配置的值

实际结果:

写入的值不正常

bug描述:

安卓原生插件在package.json中添加parameters参数后,打自定义调试基座和正式版的包成功后,通过android studio分析apk的manifest.xml文件,里面写入的值和配置时写入的不一样。
配置时的值是1234567890123 ,但是打包成功后看到的是奇怪的数字1401927936.000000
但是,如果配置的值是1234567890 ,这样打包出来就成正常的。
这个问题很诡异,请官方迅速解决,目前在稳定版3.8.12和alpha 3.92中都发现了这个问题,以下是相关的截图:

Screenshot 1
Screenshot 2
Screenshot 3


更多关于安卓原生插件在uni-app的package.json中添加parameters参数后写入的值不正确的实战教程也可以访问 https://www.itying.com/category-93-b0.html

15 回复

识别成整形了,但是整形又太大导致的应该是

更多关于安卓原生插件在uni-app的package.json中添加parameters参数后写入的值不正确的实战教程也可以访问 https://www.itying.com/category-93-b0.html


我觉得也应该是这样,只是觉得这种错误不应该啊,一般这里放的都是字符串

回复 雨天涯: 自己加个前缀,字符串截取一下把

回复 II优选: 很显然不行,我这是集成facebook 的SDK,它的要求是在manifest.xml配置好id和token,应用启动时自已就去读取配置初始化去了,根本轮不到我写的代码来截取了

回复 雨天涯: 就是key 不是自定义的被

回复 II优选: 对,不是自定义的,id就是一串数字,然后就发现了这种BUG

回复 雨天涯: 那你实际的指不可能是填写的被,只不过是你添加一个类似整形数据,发现了这个bug被,那就不用关系了,提交一下,官方看见了,下一个版本就修复一下就好了

回复 II优选: 实际上这个自定义参数本来就是可以自已填写的,就如我发的第2张图片中一样,配置好后,自已填写,我是按官方的文档来配置的,然后无意间发现的这个BUG,官方的文档代码示例就是123456789 并没有后面的,如果再加长一些,估计官方自已就能发现这个问题了

回复 雨天涯: 可以一般没有这么长的,整形是又大小的

请问,是如何解决该问题的

插件是你自己开发的吗?

回复 II优选: 是的

回复 7***@qq.com: android:name 是固定的吗?还是说自定义的?

这是一个已知的数值转换问题,当在package.json中配置过长的整型参数时,系统会将其转换为浮点数导致精度丢失。建议采取以下解决方案:

  1. 对于长整型数值参数,建议改用字符串形式配置:
"parameters": {
    "key": "1234567890123"
}
  1. 如果必须使用数值类型,可以尝试分段配置,然后在原生代码中拼接:
"parameters": {
    "key_part1": 123456,
    "key_part2": 7890123
}
回到顶部