2013-05-22 33 views
3

變音我的Android應用程序(.apk文件包)。應用程序名稱包含umlauts。我試圖將.apk包轉換爲.bar(BlackBerry 10)。我正在使用適用於Eclipse的BlackBerry重新包裝工具插件。我無法上傳應用程序的黑莓世界由於應用程序的名稱

重新包裝和捆綁的.bar在MANIFEST.MF文件簽署過程中的應用名稱後包含「?」而不是變音符號。由於這一點,我無法將.bar軟件包上傳到BlackBerry World。當我試圖上傳時,我收到錯誤:

Invalid signature file digest for Manifest main attributes System.exit calls not allowed!

回答

1

Michail,你自己的答案不能正常工作。 BAR文件已經過簽名和驗證,但如果我將最終應用程序安裝到真正的Z10設備上,則會出現「應用程序f \ u00FCr BlackBerry」作爲應用程序名稱(直接打印轉義序列)。

我在這裏找到簡單的解決方案:Cyrillic app name incorrectly encoded during porting Android app to Blackberry

問題是由黑莓命令工具使用的編碼。只需要添加

-Dfile.encoding=utf-8 

將參數添加到apk2bar和blackberry-signer批處理命令中。例如:

java -Djava.awt.headless=true -Dfile.encoding=utf-8 -Xmx512M -cp "$LIB/BarPackager.jar:$LIB/Apk2Bar.jar"... 

然後,您可以直接從Eclipse使用BlackBerry World的簽名。

0

我想我找到了解決方案。

比方說,我們有一個Android應用程序(.apk文件),在它的名字變音符號,例如:"App für BlackBerry"。如果我們要成功地將其轉換爲黑莓應用程序(.BAR),簽署並上傳到黑莓世界,然後我們要做接下來的事情就:

  1. 在AndroidManifest.xml文件Unicode轉義序列替換應用程序的名稱變音我們的Android項目。因此,我們將有"App f\u00FCr BlackBerry"。構建我們的應用程序(這將創建.APK文件)。

  2. 使用apk2bar工具轉換的apk .BAR來(這將創建在同一文件夾中我們.apk文件文件.BAR):.BAR我們文件中的

    apk2bar <path to our .APK file> <path to Android SDK> 
    
  3. 更改文件擴展名。 ZIP(或在.BAR後添加.ZIP)。使用任何存檔管理器解壓縮文件。我們應該看到在存檔文件夾下一個文件:

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

    我們需要打開META-INF/MANIFEST.MF文件,並檢查「應用程序名稱」和「入口點名稱」行。如果他們看起來像:

    那麼我們就需要MANIFEST.MF文件複製到同一文件夾作爲我們的.apk文件,並與Unicode轉義序列的那些行替換變音:

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

    在此之後一步我們可以刪除.ZIP文件和unziped文件夾。

  4. 使用apk2bar額外的選項又實用:

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

    這一步,我們將與Unicode轉義序列,而不是在內部MANIFEST.MF文件.BAR變音符號文件之後。

    注意:不要更新內部MANIFEST.MF文件,壓縮解壓的文件夾,並從.zip改成歸檔擴展回.BAR。它可能會損壞.BAR文件。所以這是爲了我。

  5. 登錄我們的黑莓簽名者.BAR程序文件。

    • 如果我們的P12和CSK密碼相同,則我們可以使用:

      blackberry-signer -storepass <our P12/CSK password> <path to our .BAR file> 
      
    • 如果我們的P12和CSK密碼是不一樣的話,就要用: 黑莓簽字人 - 密鑰庫-storepass作者 和:

      blackberry-signer -verbose -cskpass <our CSK password> -keystore <path to our lP12 file> -storepass <our P12 password> <path to our .BAR file> RDK 
      
  6. V erify .BAR我們文件:

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

如果這個命令顯示沒有錯誤,那麼我們就可以上傳文件.BAR黑莓世界。

就是這樣。

相關問題