一、Android Release包无法发起HTTP请求
因为项目只要求安卓版本,所以只打了安卓的APK,其中遇到点问题,故记录一下
这个是因为安全性考虑,安卓目前默认只允许https,如果需要使用http需要在android/app/src/AndroidManifest.xml
中的application
标签上加上android:usesCleartextTraffic="true"
参数,如下:
<manifest ...>
<application
...
android:usesCleartextTraffic="true">
</application>
</manifest>
二、APP闪退诊断
APP闪退时,非React Native的问题,Metro是不会打印错误日志的,但有些情况,就比如我遇到的Android 12新增的BLUETOOTH_SCAN权限兼容问题,就属于安卓原生的错误,如果我们和平时一样用logcat | grep ReactNativeJS
去监听日志,也是看不到错误日志的,不用grep
过滤的话,安卓的日志属实有点多,不太好定位,请教了下终端的同事使用logcat | grep AndroidRuntime
就能看到APP闪退的日志,灰常方便:
java.lang.SecurityException: Need android.permission.BLUETOOTH_SCAN permission for android.content.AttributionSource@9c58cd14: GattService registerScanner MIUI
定位好问题就好解决了