尝试在Samsung Gear 2上安装应用程序时SIGNATURE_INVALID

时间:2014-09-02 15:16:34

标签: macos tizen tizen-web-app tizen-wearable-sdk samsung-galaxy-gear

在向三星注册开发人员证书后,我无法安装我的应用程序,我获得了SIGNATURE_INVALID(代码22)。

应用程序可以是任何东西,包括IDE向导中的hello world应用程序。

有趣的是,在从三星收到电子邮件并安装密钥之前,我已经部署了一个hello world应用程序并且它有效。不能再复制这个了。

从IDE登录:

Launching the Tizen application...
# If you want to see the detailed information,
# please set the logging level to DEBUG in Preferences and check the log file in '(...)'.

[Initializing the launch environment...]
    RDS: On
    Target information: SM-R380
    Application information: Id(p8BYHTMfs6.Pilot), Package Name(p8BYHTMfs6), Project Name(Pilot)
[Transferring the package...]
    Repackaging is in progress before the package transfer.
    Transferred the package: (...)/tizen/Pilot.wgt -> /opt/usr/apps/tmp
[Stopping running application...]
[Installing the package...]
path is /opt/usr/apps/tmp/Pilot.wgt
start process (install)
....
error : 22

end process (fail)
processing result : SIGNATURE_INVALID [22] failed
spend time for pkgcmd is [1798]ms
cmd_ret:22
[Transferring the package...]
    Repackaging is in progress before the package transfer.
    Transferred the package: (...)/tizen/Pilot.wgt -> /opt/usr/apps/tmp
path is /opt/usr/apps/tmp/Pilot.wgt
start process (install)
....
error : 22

end process (fail)
processing result : SIGNATURE_INVALID [22] failed
spend time for pkgcmd is [1824]ms
cmd_ret:22
Unexpected stop progress...
(12.17 sec)

尝试使用sdb时:

$ sdb install Pilot.wgt

pushed                      Pilot.wgt   100%          3MB
1 file(s) pushed. 0 file(s) skipped.
Pilot.wgt                        2813 KB/s (3512786 bytes in 1.219s)
path is /opt/usr/apps/tmp/Pilot.wgt
__return_cb req_id[1] pkg_type[wgt] pkgid[p8BYHTMfs6] key[start] val[install]
__return_cb req_id[1] pkg_type[wgt] pkgid[p8BYHTMfs6] key[install_percent] val[3]
__return_cb req_id[1] pkg_type[wgt] pkgid[p8BYHTMfs6] key[install_percent] val[22]
__return_cb req_id[1] pkg_type[wgt] pkgid[p8BYHTMfs6] key[install_percent] val[25]
__return_cb req_id[1] pkg_type[wgt] pkgid[p8BYHTMfs6] key[install_percent] val[33]
__return_cb req_id[1] pkg_type[wgt] pkgid[p8BYHTMfs6] key[error] val[22]
__return_cb req_id[1] pkg_type[wgt] pkgid[p8BYHTMfs6] key[end] val[fail]
processing result : SIGNATURE_INVALID [22] failed
spend time for pkgcmd is [1758]ms

日志中有趣的事情:

[2014.09.02 16:53:58][WARN ] SignCommand.java(91) - Cannot remove a file. Path : (...)/tizen/.build/Result Resource Layer/author-signature.xml
[2014.09.02 16:53:58][WARN ] SignCommand.java(91) - Cannot remove a file. Path : (...)/tizen/.build/Result Resource Layer/signature1.xml

(...)

[2014.09.02 16:54:06][DEBUG] SdbCommand.java(203) - $ /usr/bin/pkgcmd -i -q -t wgt -p "/opt/usr/apps/tmp/Pilot.wgt"
[2014.09.02 16:54:08][DEBUG] SdbCommand.java(203) - $ rm -f /opt/usr/apps/tmp/Pilot.wgt
[2014.09.02 16:54:08][DEBUG] ZimLaunchDelegate.java(240) -
Error code: SIGNATURE_INVALID
Error message:
Command: /usr/bin/pkgcmd -i -q -t wgt -p "/opt/usr/apps/tmp/Pilot.wgt"
Management: Check author certificates in Preferences > Tizen SDK > Secure Profiles > Profile items.

[2014.09.02 16:54:08][DEBUG] LaunchesListener.java(187) - removed - project: Pilot, device serial: 529f31b34100626c
[2014.09.02 16:54:08][PERFORM_E] ZimLaunchDelegate.java(277) - [Category: web.launch] at 2014-09-02 16:54:08.967         [12170(ms)]

我试过的一些事情:

  • 证书用于由IDE生成的正确设备ID。试过两次与三星签约。
  • 证书会自动复制到齿轮/home/developer
  • 我可以使用.wgt安装示例sdb文件。
  • 项目多次清理,IDE和Gear重新启动,Gear已重置。

我的系统:

  • OSX Mountain Lion
  • 来自安装管理器的Tizen IDE tizen-wearable-sdk-2.2.151_macos64.bin(当前)
  • Tizen SDK for Wearable,Version:1.0.0b2,Build id:20140411-1445(current)
  • Samsung Gear 2(SM-R380),固件R380XXU0BNE5(当前)

关于如何修复我的设置以便能够再次开发的任何想法?

5 个答案:

答案 0 :(得分:5)

叹息..现在我知道我没有检查 - 删除工作区元数据修复了设置。浪费一天的好方法。

如果有人感兴趣,工作区甚至没有使用(项目仍然在单独的目录中)

答案 1 :(得分:3)

注册证书后,您需要通过winwows-> preferences-> Tizen sdk->安全配置文件创建配置文件 - >添加新配置文件并导入author.p12和distributor.p12文件并设置活动如果您在Real设备上运行应用程序,请转到连接资源管理器 - >右键单击设备显示 - >单击许可证以安装应用程序。

答案 2 :(得分:1)

可能是时间设置不正确。请尝试在Gear S上设置当前日期和时间。

我遇到了这个问题,这就是我所遇到的“签名无效”错误的解决方案。

答案 3 :(得分:0)

或许值得检查设备上的/home/developer/certificate-registration.xml文件 ,并确保其中包含您设备的ID。

在Tizen可穿戴式IDE的最新版本中,连接资源管理器中的一个选项(在您用于测试的设备的弹出窗口中)允许"允许安装应用程序"完全可以做到这一点 - 在设备的/ home / developer文件夹中创建一个合适的certificate-registration.xml。

至少,当我拿到全新的Gear S进行测试时,这帮助了我(早些时候我已经用Gear 2进行了测试)。

PS:就个人而言,我不喜欢"清除元数据的魔力"等等。导致失败的一些确切原因。遗憾的是,没有人探究元数据的错误,以便清除它真的有帮助。

PPS:如果您有多个具有不同证书的配置文件,当您(或Eclipse)从您真正需要的配置文件切换到某个默认的,有缺陷的配置文件时,这也是一个原因。

答案 4 :(得分:0)

尝试检查手表上的日期。

我遇到了这个问题并发现当电池在手表上死机时它的时钟会重置,那么开发人员证书将不再有效。