這是盒子上的朋友的解決方案,轉貼過來的,感謝分享的朋友,另外,這一問題,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來解決的。
