1

RIM Vendor Portal にアプリを提出するのに何日も費やしました。

私はそれを構築することができます。debugtoken.bar を使用してデバイスで実行できます。

ベンダー ポータルに送信しようとすると、「一部のファイルに署名がありません」という恐ろしいエラーが表示されます。

application.bar ファイル (実際には QuoteUnquote.bar という名前) を作成し、次のように署名しました。

"C:\Program Files (x86)\Research In Motion\BlackBerry WebWorks SDK for TabletOS 2.1.0.6\bbwp\blackberry-tablet-sdk\bin\blackberry-signer" -verbose -cskpass ******** -keystore sigtool.p12 -storepass ******** "C:\work\word\quotes\platform_airplay\build_smartquotes-airplay_vc10\deployments\default\playbook\release\QuoteUnquote.bar" RDK

"C:\Program Files (x86)\Research In Motion\BlackBerry WebWorks SDK for TabletOS 2.1.0.6\bbwp\blackberry-tablet-sdk\bin\blackberry-signer" -keystore sigtool.p12 -storepass ******** "C:\work\word\quotes\platform_airplay\build_smartquotes-airplay_vc10\deployments\default\playbook\release\QuoteUnquote.bar" author

署名済みの .bar ファイルの META-INF フォルダー内に、必要な 5 つのファイルがあることを確認します。

-verbose オプションを指定せずに検証すると、「.bar 検証済み」とだけ表示されます。-verbose オプションで検証すると、検証ツールがクラッシュしたように見えます。

C:\work\word\quotes\platform_airplay\PlayBook>"C:\Program Files (x86)\Research In Motion\BlackBerry WebWorks SDK for TabletOS 2.1.0.6\bbwp\blackberry-tablet-sdk\bin\blackberry-signer" -verify -keystore sigtool.p12 -verbose "C:\work\word\quotes\platform_airplay\build_smartquotes-airplay_vc10\deployments\default\playbook\release\QuoteUnquote.bar"

        2240 Sat Jun 30 00:31:16 PDT 2012 META-INF/MANIFEST.MF
        1287 Sat Jun 30 00:31:16 PDT 2012 META-INF/AUTHOR.SF
         710 Sat Jun 30 00:31:16 PDT 2012 META-INF/AUTHOR.EC
        1287 Sat Jun 30 00:31:02 PDT 2012 META-INF/RDK.SF
         280 Sat Jun 30 00:31:02 PDT 2012 META-INF/RDK.EC
           0 Tue Jan 01 00:00:00 PST 1980 META-INF/
           0 Tue Jan 01 00:00:00 PST 1980 native/
barsigner error: java.lang.NullPointerException

ですから、あまり役に立ちません。-verify ツールが不安定なだけなのか、それとも .bar ファイルの問題が原因でクラッシュしているのか、それとも何なのかはわかりません。

過去に .bar ファイルの署名と送信に成功したことがあるからです。今までと違うことをしているかわからない。

私が言うように、私は何日もこれにこだわっています。あなたが私に指針を与えることができれば、それは素晴らしいことです. 私の .bar ファイルを送って、何が問題なのかを教えていただければ、それでよろしいかと思います。

どんな助けでも大歓迎です。

4

3 に答える 3

3

これを回避するための私の小さなハックは、通常どおり (RDK と作成者) .bar に署名し、.bar ファイルの名前を .zip に変更し、すべてのファイルを一時ディレクトリに抽出することでした。

7Zip を使用して、次のコマンドを使用してすべてのファイルを再圧縮します。

7z a -tzip <AppName>.bar *.* -r

これにより、すべてのファイルが再圧縮され、ディレクトリ名のエントリが削除されます。

その上で検証を実行します。

blackberry-signer -verbose -verify <AppName>.bar

アプリに適切に署名している限り、次のような素敵なメッセージが表示されます: 情報: バーが検証されました。

それを提出して、すぐに始めましょう!

于 2012-07-24T05:12:26.217 に答える
2

ここで何が起こっていたのかを理解しました。問題は、世界には 2 種類の .zip ファイルがあることです。ディレクトリが .zip ファイルのディレクトリに独自のエントリを取得するものと、そうでないものです。(私が理解しているように).zipファイルを表示するためのほとんどのツールは、ディレクトリに独自のエントリがあるかどうかを示していないため、これは難しい問題です.WindowsエクスプローラーなどのようなGUIフォルダーアイコンを使用してディレクトリを表示するだけです. .

解決策は次のとおりです

抽出されたコンテンツから .zip を再構築するための Java プログラムを提供し、その特定の Java ライブラリを使用して .zip を再構築すると、フォルダが独自のエントリとして含まれません。

この問題は、次の 2 つの理由で発生しました。

(1) RIM Vendor Portal サブミッション ツールは、ファイル内の各アイテムが適切に署名されているかどうかをチェックし、明らかにコンテンツ ディレクトリ内のこれら 2 つのディレクトリ エントリを確認し、それらが署名されていないためにびっくりします。署名がありません。」実際、それらが長さ 0 のディレクトリ エントリであり、とにかく署名するものが何もないことに気付き、それを手放すことができるようです。それはそもそも全体の混乱を避けるでしょう。

(2) .bar ファイルを作成する Marmalade ツールは、それらのディレクトリ エントリを含む zip を作成します。注意が必要なのは、私が知る限り、すべてのシステムでこれらのエントリが作成されるのではなく、一部のシステムでのみ作成されることです。どうやらこの問題が発生しない他のマーマレード ユーザーがいます。.jdk の一部なのか、Marmalade が使用する python システムの一部なのか、または何なのか、それが Marmalade ツールが使用している基盤となる .zip ライブラリと関係があるのか​​ どうかはわかりません。しかし、システムによって動作が異なることは間違いないようです。

したがって、RIM と Marmalade の両方に、これに関する情報が含まれている必要があります。RIM が「いくつかのアイテムに署名がありません」というエラーを表示した場合、署名が不足しているのはこれらの長さ 0 のディレクトリ エントリであることを指定する必要があります (または、上記のように、エラーとしてまったく処理できない可能性があります)。Marmalade は、PlayBook の提出に取り組んでいるすべてのユーザーに、この問題について通知する必要があります。

于 2012-07-01T01:54:25.680 に答える
0

OK、このメソッドは使用しないでください....検証して提出を許可しますが、RIM 側では、署名された後に .bar ファイルを変更したという事実について文句を言うでしょう! !

于 2012-07-29T05:25:06.777 に答える