簡體   English   中英

帶有不同消息的 Flutter 調試垃圾郵件控制台

[英]Flutter debugging spams console with different messages

在我的 OnePlus 6 上調試我的 flutter 應用程序時,我收到了很多奇怪的消息。當我單擊按鈕、滑動等時會出現這些消息。 我在 Android Pie 上。

一些消息:

E/libc    (10995): Access denied finding property 
"vendor.debug.egl.swapinterval"
W/1.gpu   (10995): type=1400 audit(0.0:2806794): avc: denied { read } for 
name="u:object_r:vendor_default_prop:s0" dev="tmpfs" ino=21671 
scontext=u:r:untrusted_app_27:s0:c512,c768 
tcontext=u:object_r:vendor_default_prop:s0 tclass=file permissive=0
E/libc    (10995): Access denied finding property 
"vendor.debug.egl.swapinterval"
E/libc    (10995): Access denied finding property 
"vendor.debug.egl.swapinterval"
E/libc    (10995): Access denied finding property 
"vendor.debug.egl.swapinterval"
E/libc    (10995): Access denied finding property 
"vendor.debug.egl.swapinterval"
W/1.gpu   (10995): type=1400 audit(0.0:2806805): avc: denied { read } for 

我如何擺脫它們,該應用程序似乎運行良好。 很難閱讀雜亂無章的 print() 消息。

解決方法是使用 Flutter 的軟件渲染器,與 Flutter 的默認硬件加速 OpenGL 渲染器相比,它以降低圖形性能為代價來消除這些錯誤:

$ flutter run --enable-software-rendering

不過,需要明確的是,這不是 Flutter 錯誤。 這是 OnePlus 6(可能還有 Google Pixel 3)上的 Android Pie 上的系統庫( libEGLlibgralloc ?)的問題,最終需要設備供應商和/或 Google 進行修復。 跡象表明,至少在 2018 年 10 月下旬,安裝最新的系統更新可能已為某些用戶解決了此問題。

基於一項旨在解決 Google 新 Pixel 3 XL 設備(代號“crosshatch”)上相同問題的提交,潛在問題似乎是 Android Pie 本身或供應商對 Android 的定制引入了對供應商的新依賴vendor.debug.egl.swapinterval構建屬性,但此屬性訪問被安全策略拒絕。 修復方法是更改​​安全策略以允許啟動動畫和應用程序訪問此屬性。

什么是vendor.debug.egl.swapinterval 它控制顯示幀速率。 引用eglSwapInterval API 的 Khronos Group 文檔,這個間隔:

指定在發生緩沖區交換之前顯示的最小視頻幀數。

正如在 XDA 論壇上的粗略搜索所顯示的,模組制作者多年來一直在調整這個參數。

如果您現在(2019 年 3 月)在 Flutter 1.2.1 升級后使用 OnePlus 設備(甚至可能是其他設備)發生這種情況,您可以使用“--enable-software-rendering”解決方法,如 Arto Bendiken 接受的答案中所述或者這個:

查看位於項目文件夾 ($PROJECT_FOLDER/android/app/) 中的build.gradle文件,並查看compileSdkVersiontargetSdkVersion 如果這些數字設置為28 ,請將它們降低到27 (或更低,如果您願意/需要)。 Flutter 1.2.1 生成的項目將這些變量設置為 28(Android 9 Pie)。

解釋:
一些用戶表示,升級到較新版本的 ROM 為他們解決了這個問題。 我使用這個設備:

設備:一加6T(一加A6013)
型號:A6013_41_190123
氧氣操作系統:9.0.12

有人寫過,9.0.3 版本已經為他修復了,比我的 9.0.12 還舊。

問題是我在 Flutter 1.0.0 上使用這個設備沒有任何問題,在 Flutter 1.2.1 升級(和新項目生成)之后,這開始發生。 舊項目仍然沒有這個問題,所以我檢查了一些文件的差異,發現 build.gradle 不同。 換句話說,Flutter 1.2.1 默認針對 Android 9 Pie。 它仍然可能與 OnePlus tho 相關,因為我嘗試在一些裝有 Android 8 的 Moto G 手機上運行該應用程序,但該問題不存在。 (即使 compile/targetSdkVersion 設置為 28)。

在Oneplus 6上使用Flutter + Firebase(google SignIn)仍然遇到相同的錯誤。

需要解決方案

適用於Oneplus 3和Oneplus 7。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM