react-native 调用Settings.Secure.getstring获取了android_id / app上架违规获取android_id被拒

华为上架时,被违规获取android_id原因拒绝上架, 使用HookLoginDemo检测结果如下

2022-06-08 10:36:49.956 28518-28550/? D/HookLogin: 调用Settings.Secure.getstring获取了android_id
2022-06-08 10:36:49.957 28518-28550/? E/HookLogin: java.io.IOException
        at com.example.hooklogin.HookLogin.getMethodStack(HookLogin.java:213)
        at com.example.hooklogin.HookLogin.access$000(HookLogin.java:23)
        at com.example.hooklogin.HookLogin$6.afterHookedMethod(HookLogin.java:184)
        at de.robv.android.xposed.DexposedBridge.handleHookedArtMethod(DexposedBridge.java:265)
        at me.weishu.epic.art.entry.Entry64.onHookObject(Entry64.java:64)
        at me.weishu.epic.art.entry.Entry64.referenceBridge(Entry64.java:239)
        at com.learnium.RNDeviceInfo.RNDeviceModule.getUniqueIdSync(RNDeviceModule.java:658)
        at com.learnium.RNDeviceInfo.RNDeviceModule.getConstants(RNDeviceModule.java:162)
        at com.facebook.react.bridge.JavaModuleWrapper.getConstants(JavaModuleWrapper.java:128)
        at com.facebook.react.bridge.queue.NativeRunnable.run(Native Method)
        at android.os.Handler.handleCallback(Handler.java:883)
        at android.os.Handler.dispatchMessage(Handler.java:100)
        at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:26)
        at android.os.Looper.loop(Looper.java:227)
        at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:225)
        at java.lang.Thread.run(Thread.java:919)
HookLoginDemo使用方式百度一下
经过排查at com.learnium.RNDeviceInfo.RNDeviceModule.getUniqueIdSync(RNDeviceModule.java:658)确定是第三方依赖react-native-device-info导致的问题
解决方案 : 将import导入改为内联应用
import DeviceInfo from 'react-native-device-info';
const getDevicesId = () => {
	return DeviceInfo.getUniqueId()
}

修改为

const getDevicesId = () => {
	const DeviceInfo = require('react-native-device-info').default;
	return DeviceInfo.getUniqueId()
}
补充:该方法还是会获取android_id,,,此处理的原因是,调用该组件的方法前,用户已经同意隐私政策,即:用户首次启动并同意隐私政策,后续使用该组件库的时候再获取android_id,不会被商店视为违规

原文: http://t.csdn.cn/jswba

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值