当前位置:网站首页>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 .
边栏推荐
- Rust string slicing, structs, and enumeration classes
- Tensorflow 2.x(keras)源码详解之第十五章:迁移学习与微调
- NC24325 [USACO 2012 Mar S]Flowerpot
- Win10 多种方式解决无法安装.Net3.5的问题
- 关于Unity屏幕相关Screen的练习题目,Unity内部环绕某点做运动
- Basic use of shell script
- MySQL 23道经典面试吊打面试官
- node_modules删不掉
- Wechat applet obtains the information of an element (height, width, etc.) and converts PX to rpx.
- Leetcode 294. Flip game II (game theory)
猜你喜欢

FAQ | FAQ for building applications for large screen devices

University of Oslo: Li Meng | deep reinforcement learning based on swing transformer

Pageoffice - bug modification journey

Shell implements basic file operations (cutting, sorting, and de duplication)

多进程编程(一):基本概念

UART、RS232、RS485、I2C和SPI的介绍

【AutoSAR 十一 通信相关机制】

MySQL 23 classic interview hanging interviewer

Automated defect analysis in electron microscopic images-论文阅读笔记

kubernetes资源对象介绍及常用命令(五)-(NFS&PV&PVC)
随机推荐
Win10 多种方式解决无法安装.Net3.5的问题
Multiprocess programming (II): Pipeline
University of Toronto: Anthony coach | the conditions of deep reinforcement learning can induce dynamic risk measurement
One of the reasons why setinterval timer does not take effect in ie: the callback is the arrow function
2022上半年值得被看见的10条文案,每一句都能带给你力量!
Nc20806 District interval
Shell 实现文件基本操作(sed-编辑、awk-匹配)
Graduation summary
Shell脚本基本使用
关于Unity屏幕相关Screen的练习题目,Unity内部环绕某点做运动
ftrace工具的介绍及使用
Go custom sort
Feature Engineering: summary of common feature transformation methods
setInterval定时器在ie不生效原因之一:回调的是箭头函数
antv x6节点拖拽到画布上后的回调事件(踩大坑记录)
1.12 - 指令
【luogu P4320】道路相遇(圆方树)
Pytorch 20 realizes corrosion expansion based on pytorch
Linux Software: how to install redis service
About qbytearray storage hexadecimal and hexadecimal conversion