2013-05-22 34 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黑莓世界。

就是这样。

相关问题