Delphi 10.3.3解決Android 11閃退


這是盒子上的朋友的解決方案,轉貼過來的,感謝分享的朋友,另外,這一問題,Delphi 10.4.1是解決了的。

Android 11 Beta版本,Delphi 10.3.3編輯的App出現閃退。

文件在Delphi10.3.3版本修改而來。替換文件后,修復Android 11啟動閃退問題。
替換以下目錄文件“System.o”,區分32和64位版本。
如果包含服務,還需要替換“libProxyAndroidService.so”。

C:\Program Files (x86)\Embarcadero\Studio\20.0\lib\android\debug
C:\Program Files (x86)\Embarcadero\Studio\20.0\lib\android\release
C:\Program Files (x86)\Embarcadero\Studio\20.0\lib\android64\debug
C:\Program Files (x86)\Embarcadero\Studio\20.0\lib\android64\release

C:\Program Files (x86)\Embarcadero\Studio\20.0\source\rtl\sys\ICU.inc文件按下面內容修改:

10.3.3
{$ELSEIF defined(ANDROID32)}
  HICUUC := dlopen('/system/lib/libicuuc.so', RTLD_LAZY);
  HICUI18N := dlopen('/system/lib/libicui18n.so', RTLD_LAZY);
{$ELSE defined(ANDROID64)}
  HICUUC := dlopen('/system/lib64/libicuuc.so', RTLD_LAZY);
  HICUI18N := dlopen('/system/lib64/libicui18n.so', RTLD_LAZY);
{$ENDIF}

修改后

{$ELSE defined(ANDROID)}
  HICUUC := dlopen('libicuuc.so', RTLD_LAZY);
  HICUI18N := dlopen('libicui18n.so', RTLD_LAZY);
{$ENDIF}


總結:安卓11訪問so文件,不需要路徑(/system/lib/),不然出錯閃退。

百度下載地址:

鏈接:https://pan.baidu.com/s/11uyFN9ppno1Ht1GtIFqjPg
提取碼:o21m

筆者建議:

其實,如果可能的話,我還是建議升級到Delphi 10.4.1或者即將到來的10.4.2,來解決這個android 11兼容的問題,我現在升級到10.4.1來解決的。

官方QC的解決方法:https://quality.embarcadero.com/browse/RSP-27218


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM