0

私はCordova/Blackberryアプリを構築していて、テストのためにプログラムをデバイスにロードするのに苦労しています。

私が最初にphonegapコードを作成したときant blackberry load-device、50個の署名で実行すると54個のコード署名が必要でしたが、これは10回の試行ごとに7回失敗します。(BBサーバーから応答が返ってこないため、ビルドが完了しません)。

アプリでさらに作業を行った後、今日デバイスでテストしましたが、突然642個の署名が必要であることがわかりました。これは決して機能しません。

ブラックベリーは、必要な署名の数をどのように決定しますか?どうすればそれを管理可能なレベルに戻すことができますか?

4

1 に答える 1

1

アプリのサイズがこれを大きく左右します。

BlackBerryアプリをビルドすると、.codファイルにパッケージ化されます。ただし、ほとんどすべての場合、その単一の.codファイルは実際には小さな.codファイルのコンテナーです。ビルドの結果である単一の.codファイルの名前を(たとえば、MyApp.codからMyApp.zipに)変更すると、通常の解凍ツールを使用して実際に解凍し、中身を確認できます。

アプリのバイナリサイズが大きいほど、この外側の.codコンテナ内に作成される小さなcodファイルが多くなります。これに関するすべてのレガシーを思い出せませんが、基本的に、ビルドツールはアプリを多数の小さなタラに分割し、それぞれを約64KB未満に保ちます。(これはネットワークのダウンロード制限によるものだと思います。)したがって、アプリが大きいほど、タラが多くなります。

コード署名は各タラに適用する必要があります(そして私はそれがタラごとに3回起こると思います)。

アプリの合計サイズは、コードの量、特に画像などのバンドルされたリソースのサイズによって異なります。あなたは確かにより少ない画像を使用し、それらをより多く圧縮することができます(例えばPNGCrushで)。または、実行時にこのバンドルされたコンテンツの一部をアプリにダウンロードさせることもできます。明らかに、それは実行時のパフォーマンスのためにアプリのサイズを交換しています。通常、コード署名者のスパムを回避することはお勧めしませんが、これはオプションです。

アプリのコンパイルに使用するOSもサイズに影響する可能性があります。OS 5.0をサポートする必要がなくなり、 6.0ベースのOSバージョンでビルドしている場合は、アプリの最終的なサイズを最小化するために5.0にドロップダウンすることを検討してください。もちろん、これは、これを実行できること、および6.0または7.xの機能に依存しないことを前提としています。

しかし、おそらくまだサポートしている可能性があるのに、古いバージョンのOSのサポートをやめた人もいることを私は知っています。とにかく、これがバンドルされた画像ほどあなたに大きな違いをもたらすとは思わない。

ちなみに、BlackBerryコード署名サーバーのタイムアウトに関してたまに問題が発生しただけです。開発マシンのインターネット接続が不安定である可能性はありますか?署名サーバーのオンラインステータスに関するほぼリアルタイムの情報をここで探してみてください

他に読むべきことがいくつかあります:

http://supportforums.blackberry.com/t5/Java-Development/Issues-with-the-maximum-number-of-CODs-for-an-app/mp/1237881

小さい.cod(.jar)ファイル用に最適化

http://supportforums.blackberry.com/t5/Testing-and-Deployment/The-maximum-size-of-a-BlackBerry-smartphone-application/ta-p/1300209

于 2013-01-22T02:52:51.477 に答える