当前位置:网站首页>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 .
边栏推荐
- The "2022 China Digital Office Market Research Report" can be downloaded to explain the 176.8 billion yuan market in detail
- Graduation summary
- Rust所有权(非常重要)
- Free we media essential tools sharing
- 【雅思阅读】王希伟阅读P1(阅读判断题)
- UART、RS232、RS485、I2C和SPI的介绍
- Vulkan并非“灵药“
- 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
- Hundreds of continuous innovation to create free low code office tools
- [golang syntax] map common errors golang panic: assignment to entry in nil map
猜你喜欢
[shutter] Introduction to the official example of shutter Gallery (project introduction | engineering construction)
MySQL 23道经典面试吊打面试官
mm中的GAN模型架构
Gan model architecture in mm
Pageoffice - bug modification journey
redis21道经典面试题,极限拉扯面试官
Shell 实现文件基本操作(切割、排序、去重)
The "2022 China Digital Office Market Research Report" can be downloaded to explain the 176.8 billion yuan market in detail
Nacos+openfeign error reporting solution
Basic use of shell script
随机推荐
Graduation summary
字符设备注册常用的两种方法和步骤
Set up nacos2 X cluster steps and problems encountered
程序分析与优化 - 9 附录 XLA的缓冲区指派
ftrace工具的介绍及使用
微信小程序获取某个元素的信息(高、宽等),并将px转换为rpx。
简单聊聊运维监控的其他用途
Web2.0的巨头纷纷布局VC,Tiger DAO VC或成抵达Web3捷径
机器学习:numpy版本线性回归预测波士顿房价
[golang syntax] map common errors golang panic: assignment to entry in nil map
[shutter] image component (the placeholder | transparent_image transparent image plug-in is loaded into the memory)
文件操作IO-Part2
Markdown使用教程
Kubernetes simple introduction to writing YML
AEM: Nanlin fan Ben et al. - plant rhizosphere growth promoting bacteria control soybean blight
【雅思阅读】王希伟阅读P2(阅读填空)
Is there a free text to speech tool to help recommend?
logback配置文件
Rust string slicing, structs, and enumeration classes
Overlay of shutter (Pop-Up)