场景:
用as运行是可以的,但是混淆签名后 小米手机无法获取OAID 华为mate30获取OAID 报错 报错信息如下图
参考信息应该是混淆引起的,经过漫长的寻找,找到解决方案如下:
一.检查10.0权限是否添加 <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
二.proguard中是否添加了如下配置
#代码优化选项,不加该行会将没有用到的类删除用 -dontshrink -dontwarn android.support.annotation.Keep #保留注解,如果不添加改行会导致我们的@Keep注解失效 -keepclasseswithmembernames class * { # 保持 native 方法不被混淆 native <methods>; } -keepattributes *Annotation* -keep @android.support.annotation.Keep class **
添加之后 就可以啦