Konuyu Oyla:
  • Derecelendirme: 3/5 - 2 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Android 11
#9
Site yönetimi açısından bir sıkıntı olur mu bilmiyorum ama buyrun:


The reported issue (a segmentation fault raised after an attempt to call the 'u_strFromUTF8WithSub' ICU function) has not been reproduced before due to the fact that, an application that has the value of the 'targetSdkVersion' manifest attribute lesser than/equal to '28' runs on 'compatibility mode' on an 'Android 10.0' device [1]:
Alıntı:Also for app compatibility, the linker redirects absolute paths to ICU libraries in dlopen() calls, i.e. 'dlopen("/system/lib/libicuuc.so", ...)' and 'dlopen("/system/lib/libicui18n.so", ...)', redirect to the corresponding libraries in '/apex/com.android.runtime/lib/' for apps with 'targetSdkVersion < 29'.
After changing the value of the 'targetSdkVersion' attribute to '29', an application no longer runs on the mentioned 'compatibility mode' and, therefore, the 'dynamic linker' fails to load the 'ICU' libraries (these libraries are used in the implementation of helper methods for string handling). There is an important axiom that is valid for devices running an Android version greater than/equal to '5.0':
Alıntı:Calls to the 'dlopen' function should pass as first parameter a 'library name' instead of a 'library absolute path'.
BUG FIX
Please the bug provided here is aimed to update the uses of the 'dlopen' function in the 'ICU.inc' file (it is included into the 'System.pas' one) according to the above Android axiom. These are the steps needed to address the reported issue:
  • Open the 'Windows Explorer' application.

  • On the 'Windows Explorer' application...
    • Navigate to the 'C:\Program Files (x86)\Embarcadero\Studio\20.0\source' folder.
    • Copy the files from the 'missing_source_files.zip' attachment [1] to the current folder.
    • Navigate to the 'C:\Program Files (x86)\Embarcadero\Studio\20.0\source\rtl\sys' folder.
    • Open the 'ICU.inc' file in a text editor application (please backup the original version of the 'ICU.inc' file for safety purposes).
    • On the text editor application...
      • Change the definition of the 'InitICU' global function:
        From
        function InitICU: Boolean;
         
        ...
        
        begin
        ICUVersionNumber := -1;
        Result := False;
        {$IFDEF MACOS}
        HICUUC := dlopen('/usr/lib/libicucore.dylib', RTLD_LAZY);
        HICUI18N := HICUUC;
        {$ELSEIF defined(LINUX)}
        HICUUC := OpenICU_Lib('libicuuc.so');
        HICUI18N := OpenICU_Lib('libicui18n.so');
        {$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}
        
        ...
        
        end;
        

        To
        function InitICU: Boolean; ... begin  ICUVersionNumber := -1;  Result := False;{$IFDEF MACOS}  HICUUC := dlopen('/usr/lib/libicucore.dylib', RTLD_LAZY);  HICUI18N := HICUUC;{$ELSEIF defined(LINUX)}  HICUUC := OpenICU_Lib('libicuuc.so');  HICUI18N := OpenICU_Lib('libicui18n.so');{$ELSE defined(ANDROID)}  HICUUC := dlopen('libicuuc.so', RTLD_LAZY);  HICUI18N := dlopen('libicui18n.so', RTLD_LAZY);{$ENDIF} ... end;
      • Save the changes done to the 'ICU.inc' file.
    • Switch back to the 'Windows Explorer' application.
    • Navigate to the '%USERPROFILE%' folder.
    • Copy the 'build.bat' file from the 'build_script.zip' attachment [2] to the current folder.
      • NOTE: Running that script causes the build artifacts from the compilation of the 'System' unit to be created in the '%USERPROFILE%\build' folder. Please use the 'OUTPUT_PATH' variable to change the path to those build artifacts. The changes done to the 'ICU.inc' file are not supposed to break the DCU compatibility of the 'System' unit and, therefore, the only build artifact that interests here is the 'System.o' file.
    • Run the 'build.bat' file.
    • Switch back to the 'Windows Explorer' application.
    • Navigate to the 'C:\Program Files (x86)\Embarcadero\Studio\20.0\lib\android\debug' folder.
    • Copy the 'System.o' file from the '%USERPROFILE%\build\android\debug' folder to the current folder (please backup the original version of the 'System.o' file for safety purposes).
    • Navigate to the 'C:\Program Files (x86)\Embarcadero\Studio\20.0\lib\android\release' folder.
    • Copy the 'System.o' file from the '%USERPROFILE%\build\android\release' folder to the current folder (please backup the original version of the 'System.o' file for safety purposes).
    • Navigate to the 'C:\Program Files (x86)\Embarcadero\Studio\20.0\lib\android64\debug' folder.
    • Copy the 'System.o' file from the '%USERPROFILE%\build\android64\debug' folder to the current folder (please backup the original version of the 'System.o' file for safety purposes).
    • Navigate to the 'C:\Program Files (x86)\Embarcadero\Studio\20.0\lib\android64\release' folder.
    • Copy the 'System.o' file from the '%USERPROFILE%\build\android64\release' folder to the current folder (please backup the original version of the 'System.o' file for safety purposes).

Please let me know if the mentioned steps are not addressing the reported issue.

Thankfully,
Horácio Filho


Yukarda bahsettiği dosyalar ekte.


Ek Dosyalar
.zip   gerekli dosyalar.zip (Dosya Boyutu: 7,98 KB / İndirme Sayısı: 68)
Herhangi bir basit problem, hakkında yeterince toplantı yapılarak, çözümsüz hale getirilebilir.
https://play.google.com/store/apps/developer?id=ONGUN
Cevapla


Bu Konudaki Yorumlar
Android 11 - Yazar: Cancan - 04-02-2021, Saat: 15:42
Android 11 - Yazar: mcuyan - 05-02-2021, Saat: 16:34
Cvp: Android 11 - Yazar: Cancan - 06-02-2021, Saat: 09:49
Cvp: Android 11 - Yazar: Mr.Developer - 05-02-2021, Saat: 18:24
Android 11 - Yazar: engerex - 06-02-2021, Saat: 10:24
Cvp: Android 11 - Yazar: Cancan - 08-02-2021, Saat: 10:48
Cvp: Android 11 - Yazar: savasabd - 08-02-2021, Saat: 12:34
Android 11 - Yazar: 10.Köy - 29-03-2021, Saat: 21:45
Cvp: Android 11 - Yazar: savasabd - 29-03-2021, Saat: 22:06
Cvp: Android 11 - Yazar: 41linea41 - 03-04-2021, Saat: 12:17
Cvp: Android 11 - Yazar: savasabd - 03-04-2021, Saat: 12:39
Cvp: Android 11 - Yazar: Abdullah ILGAZ - 03-04-2021, Saat: 15:37
Cvp: Android 11 - Yazar: savasabd - 03-04-2021, Saat: 15:59
Cvp: Android 11 - Yazar: Cancan - 05-04-2021, Saat: 11:46
Cvp: Android 11 - Yazar: savasabd - 05-04-2021, Saat: 12:16
Cvp: Android 11 - Yazar: nguzeller - 03-04-2021, Saat: 18:48
Cvp: Android 11 - Yazar: 10.Köy - 03-04-2021, Saat: 20:35
Cvp: Android 11 - Yazar: 41linea41 - 03-04-2021, Saat: 23:44
Cvp: Android 11 - Yazar: 10.Köy - 04-04-2021, Saat: 00:59
Cvp: Android 11 - Yazar: 41linea41 - 15-04-2021, Saat: 21:02
Cvp: Android 11 - Yazar: savasabd - 15-04-2021, Saat: 23:34
Android 11 - Yazar: 10.Köy - 30-03-2021, Saat: 00:08
Android 11 - Yazar: 10.Köy - 25-04-2021, Saat: 03:16
Cvp: Android 11 - Yazar: savasabd - 25-04-2021, Saat: 08:44
Cvp: Android 11 - Yazar: 41linea41 - 25-04-2021, Saat: 12:49
Cvp: Android 11 - Yazar: Mr.X - 25-04-2021, Saat: 13:08
Android 11 - Yazar: 10.Köy - 25-04-2021, Saat: 23:36
Android 11 - Yazar: adelphiforumz - 10-08-2021, Saat: 12:12
Android 11 - Yazar: nguzeller - 10-08-2021, Saat: 20:24
Android 11 - Yazar: vedat35 - 27-10-2021, Saat: 23:32
Cvp: Android 11 - Yazar: RAD Coder - 28-10-2021, Saat: 10:44
Android 11 - Yazar: vedat35 - 28-10-2021, Saat: 11:47
Cvp: Android 11 - Yazar: RAD Coder - 28-10-2021, Saat: 12:16
Cvp: Android 11 - Yazar: vedat35 - 28-10-2021, Saat: 12:26
Android 11 - Yazar: nguzeller - 28-10-2021, Saat: 18:34

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Android Uygulama İkonu ARM 2 400 11-11-2025, Saat: 12:15
Son Yorum: ARM
  Android SDK kajmerantime 1 385 28-10-2025, Saat: 14:53
Son Yorum: cinarbil
  Android El Terminali Barkod Okuyucu Verisi tuna 0 334 17-10-2025, Saat: 01:07
Son Yorum: tuna
  Android işlem öneriliyor uyarısı! Coban 9 1.863 07-08-2025, Saat: 12:07
Son Yorum: RAD Coder
  FMX Android Adaptive Icons kullanabilir miyiz? egeven 1 2.156 30-06-2025, Saat: 21:46
Son Yorum: emozgun



Konuyu Okuyanlar: 2 Ziyaretçi