1

While I realize that officially it is not possible (yet?) to develop native apps (i.e. non-web apps) for Samsung Galaxy Gear S I still find it compelling to find a work around to be able to use the much richer API then that available to web-apps.

The thing I tried is using the certificates generated with Tizen SDK for Wearable with the regular/native Tizen SDK. To some extend it succeeded - the package signature verification passes while the package is installed to my Gear S but I see the following error (MANIFEST_INVALID) appearing further on:

'Launching sensors - Debug' has encountered a problem.

Cannot install application.

Error code: MANIFEST_INVALID
Error message: Manifest Validation Failed
Command: /usr/bin/pkgcmd -q -i -t tpk -p /opt/usr/apps/tmp/org.tizen.sensors-1.0.0-arm.tpk
Management: Check manifest.xml in manifest editor.

and it also leaves a following trace in the logs (Manifest Validation Failed with error code 1871):

01-12 13:50:36.258 : ERROR / rpm-installer ( 30250 : 30250 ) : rpm-appcore-intf.c: main(192) > [/opt/usr/apps/tmp/org.tizen.sensors-1.0.0-arm.tpk] is tpk package.
01-12 13:50:36.278 : ERROR / rpm-installer ( 30250 : 30250 ) : rpm-installer-core.c: _rpm_installer_get_pkgname_info(297) > There is no old version for org.tizen.sensors.
01-12 13:50:36.298 : ERROR / W_HOME ( 665 : 665 ) : pkgmgr.c: _start(442) > (_exist_request_in_list(package)) -> _start() return
01-12 13:50:36.298 : ERROR / APPS ( 665 : 665 ) : pkgmgr.c: _pkgmgr_cb(709) > pkgmgr_cbs[0].func has errors.
01-12 13:50:37.008 : ERROR / CERT_SVC ( 30250 : 30250 ) : CertificateVerifier.cpp: verify_message_signature(239) > Signature Verify of certificate-registration.xml is passed.
01-12 13:50:37.098 : ERROR / PKGMGR_PARSER ( 30250 : 30250 ) : pkgmgr_parser.c: pkgmgr_parser_check_manifest_validation(2646) > Manifest Validation Failed with error code 1871
01-12 13:50:37.098 : ERROR / rpm-installer ( 30250 : 30250 ) : coretpk-installer.c: _coretpk_installer_package_install(1706) > @invalid manifest file
01-12 13:50:37.108 : ERROR / CAPI_APPFW_PACKAGE_MANAGER ( 626 : 626 ) : package_manager.c: global_event_handler(831) > PM error : pkg_name = org.tizen.sensors, pkg_type = rpm, event_type = 0, error case = 12, error cause = MANIFEST_INVALID
01-12 13:50:39.108 : ERROR / rpm-installer ( 30250 : 30250 ) : coretpk-installer.c: _coretpk_installer_package_install(1794) > [@]end : _coretpk_installer_package_install
01-12 13:50:39.138 : ERROR / rpm-installer ( 30250 : 30250 ) : coretpk-installer.c: _coretpk_installer_prepare_package_install(2206) > [@@]end : _coretpk_installer_prepare_package_install[12]
01-12 13:50:39.138 : ERROR / rpm-installer ( 30250 : 30250 ) : rpm-cmdline.c: _ri_cmdline_process(383) > __ri_process_request: Error
01-12 13:50:39.188 : ERROR / W_HOME ( 665 : 665 ) : pkgmgr.c: _end(647) > (strcasecmp(val, "ok")) -> _end() return
01-12 13:50:39.188 : ERROR / APPS ( 665 : 665 ) : pkgmgr.c: _pkgmgr_cb(709) > pkgmgr_cbs[6].func has errors.

Has anybody tried/managed to get pass that?

I include below the full sequence which got me this far. Any hints are welcome.

Best Regards,

C

Procedure:

  1. Install Tizen SDK, Tizen SDK for Wearable and register Author & Distributor certificates in Tizen SDK for Wearable: http://www.pdf-archive.com/2015/01/13/tizen-sdk-installation-and-configuration/tizen-sdk-installation-and-configuration.pdf
  2. Reuse the Author & Distributor certificates from Tizen SDK for Wearable in the native Tizen SDK: http://www.pdf-archive.com/2015/01/13/developingnativetizenappforwearabledevice/developingnativetizenappforwearabledevice.pdf
Oleg Gryb
  • 5,122
  • 1
  • 28
  • 40
  • I don't know the details of the certificate verification process for native apps--I've dealt mostly with the web app side. You might get past the problem for your own testing if you request a device certificate with "Platform" privilege. The generator will give you a device profile for that one specific device. You won't be able to distribute your app on the Gear Store, but you could at least see if that will get you past this issue so you can test and debug. – Eric Cloninger Jan 13 '15 at 15:47
  • Thanks for the hint Eric! I've just tried the sequence with "Platform" instead of "Public" Privilege Level but still no luck :( (and indeed I only need it for personal use, not distribution) – user4449172 Jan 14 '15 at 09:39
  • What kind of API are you missing? – veritas Jan 15 '15 at 07:04
  • @veritas: Well, what I need is to look up vendors of the sensors, the resolution of the sensors and set their sampling frequency - I can only get that with the native C++ Tizen APIs – user4449172 Jan 16 '15 at 11:52
  • @user4449172 Yes, this is not possible with Web Tizen API. Sorry I cannot help you with that – veritas Jan 24 '15 at 08:35
  • The fact that the signature validation was successful doesn't mean that you by-passed anything. It simply means that the certificate is trusted by the device and the signature is correct. The interesting fact though is that you can deploy a native app to a Gear S emulator. Just create a 360x480 emulator's instance and you'll see it. Why they didn't unlock this in real devices is not clear. Probably it's a trick to force more Gear S2 sales. I don't know. Even if you hack it for your individual device, I doubt that you'll be able to publish it at their app store. – Oleg Gryb Apr 23 '16 at 22:00

0 Answers0