3

Android アプリケーション (.apk バンドル) があります。アプリケーション名にウムラウトが含まれています。.apk バンドルを .bar (BlackBerry 10) に変換しようとしています。BlackBerry Repackaging Tool Plug-in for Eclipse を使用しています。

再パッケージ化および署名後、.bar バンドル内の MANIFEST.MF ファイルのプロセス アプリケーション名に「?」が含まれる ウムラウトの代わりに記号。このため、.bar バンドルを BlackBerry World にアップロードできません。アップロードしようとすると、次のエラーが表示されます。

マニフェストのメイン属性の署名ファイル ダイジェストが無効です System.exit 呼び出しは許可されていません!

4

2 に答える 2

0

私は解決策を見つけたと思います。

たとえば、名前にウムラウトが含まれる Android アプリケーション (.APK) があるとします"App für BlackBerry"。それを BlackBerry アプリケーション (.BAR) に正常に変換し、署名して BlackBerry World にアップロードする場合は、次のことを行う必要があります。

  1. Android プロジェクトの AndroidManifest.xml ファイルで、アプリケーション名のウムラウトを Unicode エスケープ シーケンスに置き換えます。したがって、 になります"App f\u00FCr BlackBerry"。アプリケーションをビルドします (.APK ファイルが作成されます)。

  2. apk2bar ユーティリティを使用して、.APK を .BAR に変換します (これにより、.APK ファイルと同じフォルダーに .BAR ファイルが作成されます)。

    apk2bar <path to our .APK file> <path to Android SDK>
    
  3. .BAR ファイルのファイル拡張子を .ZIP に変更します (または .BAR の後に .ZIP を追加します)。任意のアーカイブ マネージャーでファイルを解凍します。アーカイブ フォルダーに次のファイルが表示されます。

    android/<application name>.APK
    META-INF/MANIFEST.MF
    

    META-INF/MANIFEST.MF ファイルを開き、"Application-Name" と "Entry-Point-Name" の行を確認する必要があります。それらが次のように見える場合:

    Application-Name: App für BlackBerry
    Entry-Point-Name: App für BlackBerry
    

    次に、MANIFEST.MF ファイルを .APK ファイルと同じフォルダーにコピーし、それらの行のウムラウトを Unicode エスケープ シーケンスに置き換える必要があります。

    Application-Name: App f\u00FCr BlackBerry
    Entry-Point-Name: App f\u00FCr BlackBerry
    

    この手順の後、.ZIP ファイルと解凍されたフォルダーを削除できます。

  4. 追加のオプションを指定して apk2bar ユーティリティを再度使用します。

    apk2bar <path to our .APK file> <path to Android SDK> -m <path to our updated MANIFEST.MF file>
    

    このステップの後、内部の MANIFEST.MF ファイルにウムラウトの代わりに Unicode エスケープ シーケンスを含む .BAR ファイルが作成されます。

    注意: 内部の MANIFEST.MF ファイルを更新したり、解凍したフォルダーを圧縮したり、アーカイブ拡張子を .ZIP から .BAR に戻したりしないでください。.BAR ファイルが破損する可能性があります。だからそれは私のためでした。

  5. blackberry-signer ユーティリティで .BAR ファイルに署名します。

    • p12 と CSK のパスワードが同じ場合は、次を使用できます。

      blackberry-signer -storepass <our P12/CSK password> <path to our .BAR file>
      
    • p12 と CSK のパスワードが同じでない場合は、次を使用する必要があります: blackberry-signer -keystore -storepass author および:

      blackberry-signer -verbose -cskpass <our CSK password> -keystore <path to our lP12 file> -storepass <our P12 password> <path to our .BAR file> RDK
      
  6. .BAR ファイルを確認します。

    blackberry-signer -verify <path to our .BAR file>
    

このコマンドでエラーが表示されない場合は、.BAR ファイルを BlackBerry World にアップロードできます。

それでおしまい。

于 2013-06-10T11:31:31.270 に答える