![]() |
SSL und Android App auf Android 6.0 Device
Hallo,
seit 2 Tagen google ich und probiere mir die Finger wund, ich komme nicht weiter: Eine App von mir, die auf Android Geräten bis 5.01 funktioniert, macht Probleme auf Android >=6.0, es kann keine SSL-Verbindung aufgebaut werden. Dass Google da die Bibliotheken geändert hat weiß ich, ich habe die so-Files der Version 1.02g und diese auch in der RAD-Studio Bereitstellung entsprechend nach .\assets\internal\ kopieren lassen. Ein Test im Programm zeigt auch dass die Dateien vorhanden sind. Aber wenn ich dann in einem Testprojekt die SSL-Version anzeigen lasse, ist die weiterhin 1.01k! Hat jemand bitte einen Tip? Die DPR-Datei:
Code:
und das Programm :
program Test_SSL_V6;
uses System.StartUpCopy, System.IoUtils, FMX.Forms, IdSSLOpenSSLHeaders, Unit1 in 'Unit1.pas' {Form1}; {$R *.res} begin Application.Initialize; {$IFDEF ANDROID} IdOpenSSLSetLibPath(TPath.GetDocumentsPath); {$ENDIF} Application.CreateForm(TForm1, Form1); Application.Run; end.
Code:
Danke
unit Unit1;
interface uses System.StartUpCopy, System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, IdSSLOpenSSL, System.ioutils, IdSSLOpenSSLHeaders, FMX.StdCtrls, FMX.Controls.Presentation; type TForm1 = class(TForm) procedure Button1Click(Sender: TObject); procedure FormShow(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.fmx} function StartupFileExists(const AFilename: string): Boolean; begin Result := TFile.Exists(TPath.Combine(TPath.GetDocumentsPath, AFilename)); end; procedure TForm1.Button1Click(Sender: TObject); begin Showmessage(OpenSSLVersion); end; procedure TForm1.FormShow(Sender: TObject); var fn : string; begin if not StartupFileExists('libssl.so') then showmessage('libssl.so in '+ TPath.GetDocumentsPath + ' nicht gefunden'); fn := TPath.GetDocumentsPath; IdOpenSSLSetLibPath(fn); // no effect Showmessage(OpenSSLVersion); // opensll 1.0.1k-fips 8 Jan 2015 Showmessage(WhichFailedToLoad); // empty end; end. Ciao Stefan |
AW: SSL und Android App auf Android 6.0 Device
Probier es mal damit
Delphi-Quellcode:
IdOpenSSLSetLibPath(TPath.GetLibraryPath);
|
AW: SSL und Android App auf Android 6.0 Device
Danke, hatte mich schon so auf eine Lösung gefreut (ich träume schon von dem Mist :-)
aber leider das Gleiche : "opensll 1.0.1k-fips 8 Jan 2015" Die kopierten Dateien sind vorhanden, und Showmessage(WhichFailedToLoad); gibt eine leere Meldung aus! Ciao Stefan |
AW: SSL und Android App auf Android 6.0 Device
Was ist das denn für ein Gerät? Nicht zufällig eins mit x86-Prozessor? Dort funktioniert nämlich das Laden der SO-Dateien nicht - hat bei uns zumindest nicht funktioniert.
|
AW: SSL und Android App auf Android 6.0 Device
Nein, ARM-Prozessor (Galaxy S4)...
Inzwischen bin ich aber schlauer! Ich habe das APK mal jemandem mit Android 6 gegeben, und siehe da, dort wird 1.02g angezeigt! Warum zum Teufel mein Gerät immer seine eigene Version verwendet, keine Ahnung! Das macht das testen natürlich nicht einfacher, wenn man kein 6er Device zur Verfügung hat! Ich hatte erwartet dass alle Geräte die auf diesem Wege zur Verfügung gestellten .SO-Dateien verwenden! Ciao Stefan |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz