当前位置:网站首页>Cordova plugin device obtains the device information plug-in, which causes Huawei to fail the audit
Cordova plugin device obtains the device information plug-in, which causes Huawei to fail the audit
2022-07-03 00:40:00 【kenick】
1. cause
It was found that , Your application has the ability to get users 【ANDROID ID】 Sensitive information behavior , And not in the application privacy policy / stay AppGallery Connect The privacy policy website submitted on , It does not meet Huawei's application market audit standards .
2. analysis
The stack call information obtained from Huawei is :
"stackTrace":[
"org.apache.cordova.device.Device.getUuid(Device.java:112)",
"org.apache.cordova.device.Device.initialize(Device.java:58)",
"org.apache.cordova.CordovaPlugin.privateInitialize(CordovaPlugin.java:57)",
"org.apache.cordova.PluginManager.getPlugin(PluginManager.java:171)",
"org.apache.cordova.PluginManager.exec(PluginManager.java:122)",
"org.apache.cordova.CordovaBridge.jsExec(CordovaBridge.java:59)",
"org.apache.cordova.engine.SystemExposedJsApi.exec(SystemExposedJsApi.java:41)",
"android.os.MessageQueue.nativePollOnce(NativeMethod)",
"android.os.MessageQueue.next(MessageQueue.java:374)",
"android.os.Looper.loop(Looper.java:185)",
"android.os.HandlerThread.run(HandlerThread.java:67)"
]
After searching for information , In the project platforms\android\app\src\main\java\org\apache\cordova\device\Device.java There is a problem with the initialization method of this class in .
Because we get uuid, As a result, although there is control over acquisition in the project ( You must first obtain user authorization ), But as soon as you enter app, Before obtaining user authorization , We have already obtained uuid.
3. resolvent
1. Discard the plug-in (cordova-plugin-device), It is applicable to situations that have little impact on business and logic ;
2. Continue to use the plug-in , Modify the plug-in to get the native device ID The way , It is applicable to devices with complex upper logic ID When the requirements are not very strict .
3. Custom plug in , And upload them to cordova Community , The best way , Invest more .
边栏推荐
- Shell 实现文件基本操作(切割、排序、去重)
- Nc17059 queue Q
- UART、RS232、RS485、I2C和SPI的介绍
- Basic 10 of C language: array and pointer
- Two common methods and steps of character device registration
- [IELTS reading] Wang Xiwei reading P2 (reading fill in the blank)
- Callback event after the antv X6 node is dragged onto the canvas (stepping on a big hole record)
- Attributeerror: 'tuple' object has no attribute 'layer' problem solving
- Linux软件:如何安装Redis服务
- 【AutoSAR 十一 通信相关机制】
猜你喜欢

Logback configuration file

Explain in detail the significance of the contour topology matrix obtained by using the contour detection function findcontours() of OpenCV, and how to draw the contour topology map with the contour t

奥斯陆大学:Li Meng | 基于Swin-Transformer的深度强化学习

使用jenkins之二Job

How SQLSEVER removes data with duplicate IDS

Cmake basic use

Linux Software: how to install redis service

详解用OpenCV的轮廓检测函数findContours()得到的轮廓拓扑结构(hiararchy)矩阵的意义、以及怎样用轮廓拓扑结构矩阵绘制轮廓拓扑结构图

Shell 实现文件基本操作(切割、排序、去重)

antv x6节点拖拽到画布上后的回调事件(踩大坑记录)
随机推荐
毕业总结
About qbytearray storage hexadecimal and hexadecimal conversion
Bigder: how to deal with the bugs found in the 32/100 test if they are not bugs
MySQL 23道经典面试吊打面试官
多进程编程(一):基本概念
University of Oslo: Li Meng | deep reinforcement learning based on swing transformer
MySQL 23 classic interview hanging interviewer
lex && yacc && bison && flex 配置的问题
Vulkan-性能及精细化
百数不断创新,打造自由的低代码办公工具
关于Unity屏幕相关Screen的练习题目,Unity内部环绕某点做运动
Extension of flutter
1.12 - 指令
AttributeError: ‘tuple‘ object has no attribute ‘layer‘问题解决
多进程编程(二):管道
【雅思阅读】王希伟阅读P2(阅读填空)
Shell implements basic file operations (SED edit, awk match)
Vulkan并非“灵药“
How SQLSEVER removes data with duplicate IDS
Logback configuration file