当使用react-native-device-info模块时,React native android应用程序在assemble release build中崩溃

pdsfdshx  于 2023-06-30  发布在  React
关注(0)|答案(2)|浏览(132)

在调试构建它是工作正常,但当在释放apk构建,当运行它只显示启动画面,然后它崩溃。
我尝试了许多技术,并期待在论坛上的相关问题,以解决它,没有工作。

bzzcjhmw

bzzcjhmw1#

解决方案:
我无法跟踪发布的apk应用程序如何崩溃。它在调试模式下工作正常。
我做的简单的把戏。
当我在projectname/android中运行此命令并打开release apk应用程序时

adb logcat *:E

它在logcat中给了我这个错误异常

04-20 12:31:49.153 23368 23410 E AndroidRuntime: java.lang.SecurityException: WifiService: Neither user 11740 nor current process has android.permission.ACCESS_WIFI_STATE.

04-20 12:31:49.153 23368 23410 E AndroidRuntime:        at android.os.Parcel.createException(Parcel.java:2088)

04-20 12:31:49.153 23368 23410 E AndroidRuntime:        at android.os.Parcel.readException(Parcel.java:2056)

04-20 12:31:49.153 23368 23410 E AndroidRuntime:        at android.os.Parcel.readException(Parcel.java:2004)

04-20 12:31:49.153 23368 23410 E AndroidRuntime:        at android.net.wifi.IWifiManager$Stub$Proxy.getConnectionInfo(IWifiManager.java:3474)
...

没有react-native-device-info模块所需的wifi访问权限。
在Manifest文件中,我给予了这个权限并计算出来。

<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
ecbunoof

ecbunoof2#

另一个在发布版本中跟踪bug的好方法如下
将您的设备与Metro连接。运行此命令
npx react-native log-android
然后运行以下命令
npx react-native run-android --variant=release
您的日志将显示在Metro控制台中。

相关问题