Delphi / C++Builder / RAD Studio 10.3.3でAndroid サービスが正しく実行されない問題を修正するパッチをリリースしました。詳細は以下の通りです。
ネイティブライブラリをロードできず、Androidサービスの実行が妨げられる問題であり、Androidアプリバンドルとしてパッケージ化されたアプリケーションにのみ影響します。AABから生成されたベースAPKのextractNativeLibsマニフェスト属性はfalseに設定されています。 この場合、パッケージマネージャは、アプリのインストール時にネイティブライブラリをファイルシステムに抽出せず、その結果、Androidサービスがダイナミックリンカにネイティブライブラリへの誤った絶対パスを渡します。
このパッチは https://cc.embarcadero.com/item/30905 から入手できます 。
- パッチの適用手順は、以下の通りです。
- RAD Studioを終了します。
- %AppData%\Embarcadero\BDS\20.0\フォルダを検索します。
- エクスプローラーを開きます
- パステキストボックスに引用符なしで「%AppData%」と入力し、Enterキーを押します
- %AppData%以下の、Embarcadero\BDS\20.0\ サブフォルダーに移動します
- 通常、パスは「C:\Users\YOUR PROFILE\AppData\Roaming\Embarcadero\BDS\20.0\」ですが、これはマシンの構成によって異なります。上記の方法で %AppData% のフォルダを確認していただくことをお勧めします。
- フォルダにある次のファイルのバックアップコピーを作成します。
- IntentLocalSrv.java
- IntentRemoteSrv.java
- LocalSrv.java
- RemoteSrv.java
- ZIPファイルを解凍します
- 解凍したファイルを %AppData%\Embarcadero\BDS\20.0\ フォルダにコピーし、上記のファイルを上書きします。
- RAD Studioを再起動します
Androidサービスを含む既存のプロジェクトに対し、以下の手順でAndroidサービスプロジェクトを更新します。
- RAD Studioを終了します。
- Androidサービスプロジェクトのフォルダを開きます。これは、.dprojファイルと.dprファイルが置かれているフォルダです。
- フォルダ内の以下のファイル・フォルダを確認します。「YourServiceName」はAndroidサービスプロジェクトの名前です。
- YourServiceName.template.java(ファイル)
- YourServiceNameProxyInterface.template.java(ファイル)
- JavaClasses(フォルダ)
- 上記のファイル・フォルダのバックアップコピーをとります。
- 上記のファイル・フォルダを削除します。
- RAD Studioを起動し、Androidサービスプロジェクトを再度開いて再ビルドすると上記のファイルとフォルダーが再作成されます。
この手順により、Androidサービスのビルドアーティファクトが更新され、このパッチによって導入された変更が組み込まれます。
※Delphi / C++Builder / RAD Studio 10.3.3 向けのパッチはリリース順に適用する必要があります。
リリース済みのパッチリストは下記記事をお読みください。
RAD Studio / Delphi / C++Builder 10.3.3 パッチリスト
RAD Studio / Delphi / C++Builder 10.3.3 パッチリスト