3

在三星注册开发者证书后,我无法安装我的应用程序,我得到 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。两次尝试与三星签约。
  • 证书会自动复制到 gear 的/home/developer.
  • 我可以.wgt使用sdb.
  • 项目多次清理,IDE 和 Gear 重启,Gear 已重置。

我的系统:

  • OSX 山狮
  • 安装管理器 tizen-wearable-sdk-2.2.151_macos64.bin 中的 Tizen IDE(当前)
  • 用于可穿戴设备的 Tizen SDK,版本:1.0.0b2,内部版本 ID:20140411-1445(当前)
  • 三星 Gear 2 (SM-R380),固件 R380XXU0BNE5(当前)

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

4

5 回答 5

5

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

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

于 2014-09-02T15:35:41.937 回答
3

注册您的证书后,您需要通过 winwows->preferences->Tizen sdk->Security profiles->add a new profile 并导入 author.p12 和distributor.p12 文件并设置激活该配置文件。如果您正在运行真实设备上的应用程序然后转到连接资源管理器->右键单击设备显示->单击允许安装应用程序。

于 2015-03-30T09:06:24.020 回答
2

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

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

于 2015-05-17T19:14:05.510 回答
1

尝试检查手表上的日期。

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

于 2015-04-09T02:58:44.457 回答
0

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

在 Tizen 可穿戴 IDE 的最新版本中,连接资源管理器中有一个选项(在您用于测试的设备的弹出窗口中)允许“允许安装应用程序”来执行该操作 - 在中创建适当的证书注册.xml设备的 /home/developer 文件夹。

至少,当我获得全新的 Gear S 进行测试时,这对我有所帮助(之前我用 Gear 2 进行了测试)。

PS:我个人不喜欢“清除元数据”之类的魔法。有一些确切的原因导致失败。遗憾的是,没有人探索元数据出了什么问题,因此清除它真的很有帮助。

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

于 2015-04-07T16:24:59.107 回答