6

カスケード C/C++ プロジェクトがあります。これを共有ライブラリに組み込みます。しかし、libxxx.so を展開すると、ソース コードが見つかりましたが、アセットはそこにありません。しかし、プロジェクトの一部である Assets フォルダーで画像を使用しました。また、共有ライブラリにも含める必要があります。したがって、この共有ライブラリを使用する別のアプリケーションは、これらのアセットにアクセスできます。

実際、別のカスケード アプリケーションから共有ライブラリをテストしているときにこの問題が見つかりました。アセットの不足による null ポインター例外が原因で、頻繁にクラッシュします。そして、アセットディレクトリから新しいプロジェクトアセットディレクトリに画像を貼り付けると、問題は解決します。

さて、私の質問は、資産ディレクトリ内の画像と一緒に共有ライブラリを構築するにはどうすればよいですか? また、別のカスケード アプリケーションからそれらを使用して、クライアントがアセット ディレクトリ内のイメージについて心配する必要がないようにする方法を教えてください。

実際、私はよく検索しましたが、BB10 の解決策は思いつきませんでした。貴重な提案をコメントしてください。

ありがとう。

4

1 に答える 1

4

あなたの質問にはビルドプロセスに関する情報はあまりありませんが、パッケージングの問題について話していると推測します。

共有ライブラリ (lib*.so ファイル) にはアセットが含まれていません。アセットは *.bar パッケージの一部です。これらは、bar-descriptor.xml ファイルにリストされているか、コマンドライン フラグを介して blackberry-nativepackager に渡されます。必要なすべての画像を bar-descriptor.xml に追加します。こちらのファイル ドキュメントを参照してください。 native_sdk.devguide/topic/r_blackberry_tablet_dtd_intro.html

複数のアプリケーション間でアセットを共有したい場合は、それらを bar パッケージの public 領域に置くことができます。こちらのアセット タグ ドキュメントの public 属性を参照してください: http://developer.blackberry.com/native/documentation/bb10/com .qnx.doc.native_sdk.devguide/com.qnx.doc.native_sdk.devguide/topic/r_barfile_dtd_ref_asset.html

于 2013-06-21T03:29:56.470 に答える