我已经收到了多个崩溃报告后,把这个放在谷歌播放。
这个应用程序在Huawei P40 Pro上传递,并且:
Samsung SM-G960U1
Samsung SM-G981U1
Google Pixel 5
DOCOMO SH-01L
Nokia Nokia 1然而,它没有传递给Google Pixel 6。
信息:内存:8192 MB
OpenGL ES版本: 3.2
ABI: arm64-v8a
Android版本: Android 12 (SDK 31)
屏幕大小:1080x2400
错误:
FATAL EXCEPTION: main
Process: com.pronner.ragtagvpn, PID: 19954
java.lang.RuntimeException: Unable to start service de.blinkt.openvpn.core.OpenVPNService@49c7caa with Intent { cmp=com.pronner.ragtagvpn/de.blinkt.openvpn.core.OpenVPNService (has extras) }: java.lang.IllegalArgumentException: com.pronner.ragtagvpn: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.
Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles.
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4657)
at android.app.ActivityThread.access$2000(ActivityThread.java:247)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2091)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7839)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
Caused by: java.lang.IllegalArgumentException: com.pronner.ragtagvpn: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.
Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles.
at android.app.PendingIntent.checkFlags(PendingIntent.java:375)
at android.app.PendingIntent.getActivityAsUser(PendingIntent.java:458)
at android.app.PendingIntent.getActivity(PendingIntent.java:444)
at android.app.PendingIntent.getActivity(PendingIntent.java:408)
at de.blinkt.openvpn.core.OpenVPNService.getGraphPendingIntent(OpenVPNService.java:491)
at de.blinkt.openvpn.core.OpenVPNService.showNotification(OpenVPNService.java:334)
at de.blinkt.openvpn.core.OpenVPNService.onStartCommand(OpenVPNService.java:586)
at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4639)
... 9 more不知道该做什么,因为这已经在我的设备上起作用了,我也不知道我应该如何更新openssl。不良OpenSSL版本的修复 <<,这是我在收到谷歌警告后收到的链接。
发布于 2022-10-16 06:48:36
你的第三方图书馆可能已经过时了,
de.blinkt.openvpn.core.OpenVPNService 您可以使用logcat失败提示对项目进行分叉并进行修复:针对S+ (version 31及以上版本)需要在创建PendingIntent时指定FLAG_IMMUTABLE或FLAG_MUTABLE之一。
或者,按照这个来创建您自己的VPN服务https://developer.android.com/guide/topics/connectivity/vpn。
发布于 2022-10-19 07:53:45
请检查项目中的第三方库,在我的例子中,在库更新之前我使用的是SQLCipher https://github.com/sqlcipher/android-database-sqlcipher,它使用的是缺陷版本: OpenSSL 1.1.1g
在最新版本之后,我可以看到"OpenSSL 1.1.1q 5 7月2022年“
为了验证/检查openSSL版本,可以在apk上使用下面的命令
解压缩-p .apk = strings \ grep "OpenSSL“
https://stackoverflow.com/questions/73999834
复制相似问题