【发布时间】:2021-03-12 14:36:26
【问题描述】:
我想为我的 Tizen5.5 手表开发一个配套应用程序,它使用来自手机(Android 主机)的信息。我正在使用 Tizen Studio 开发 Windows 10。
我找到了一个我想测试的好例子:https://developer.samsung.com/galaxy-watch-develop/samples/companion/hello-native.html,它的日期是 2016 年,有点旧,但我没有发现任何更新的东西。
对于开发我想使用 Tizen5.5 模拟器和 Android Studio 的模拟器。
我找到了一个 guidance,关于如何使用 Tizen 模拟器测试我的配套应用程序,但它没有帮助。
原来我需要安装“Samsung Wearable Extension”。所以我做到了:
但是我的模拟器没有获得扩展库,因此 Tizen Studio 无法构建这些示例,因为它找不到 sap.h:
我在网上搜索了这个问题,但我什么也没找到。自 Tizen 3.0 版以来,三星可穿戴扩展似乎没有为 x86 模拟器编译(他们只为肯定不是 x86 的真实设备提供了该功能)。
所以我最终复制了 Tizen3 的 x86 版本的 SAP,然后最终 Tizen Studio可以构建此示例。
但是我的模拟器无法运行示例,因为它没有安装 SAP。
然后我找到了这个站点:https://github.com/Samsung/Tizen.NET/issues/54,他们设法通过这些命令手动将 sap 安装到模拟器上:
sdb push [tizen_sdk_path]\platforms\tizen-4.0\wearable\emulator-images\add-ons\sap /opt/usr/home/owner/sap
sdb shell rpm -i /opt/usr/home/owner/sap/sap-1.9.5-0.i686.rpm
现在我的问题是 add-ons 中没有用于 tizen4.0 的 sap 文件夹。我只有 Tizen3.0。
所以我尝试这样做,但 rpm -i 失败:
sh-3.2# ls -all /lib/* | grep ncurses
lrwxrwxrwx 1 root root 19 Nov 3 10:15 /lib/libncurses++.so.6 -> libncurses++.so.6.1
-rwxr-xr-x 1 root root 71696 Oct 23 22:27 /lib/libncurses++.so.6.1
lrwxrwxrwx 1 root root 20 Nov 3 10:15 /lib/libncurses++w.so.6 -> libncurses++w.so.6.1
-rwxr-xr-x 1 root root 71696 Oct 23 22:27 /lib/libncurses++w.so.6.1
lrwxrwxrwx 1 root root 17 Mar 13 18:20 /lib/libncurses.so.5 -> libncurses.so.6.1
lrwxrwxrwx 1 root root 17 Nov 3 10:15 /lib/libncurses.so.6 -> libncurses.so.6.1
-rwxr-xr-x 1 root root 169780 Oct 23 22:27 /lib/libncurses.so.6.1
lrwxrwxrwx 1 root root 18 Nov 3 10:15 /lib/libncursesw.so.6 -> libncursesw.so.6.1
-rwxr-xr-x 1 root root 247700 Oct 23 22:27 /lib/libncursesw.so.6.1
sh-3.2# rpm -i sap-1.7.54-0.i686.rpm
error: Failed dependencies:
libncurses.so.5 is needed by sap-1.7.54-0.i686
如您所见,libncurses.so.5实际上在那里(尽管我已将其链接到 libncurses.so.6.1。
所以这是第一步:让我的 Tizen5.5 模拟器包含 SAP 库。
第二步是让我的安卓模拟器连接到Tizen5.5模拟器:
我设法将SAccessoryService_Emul.apk 安装到我的 Android 模拟器,但我无法让它识别我的手表模拟器,它总是显示“断开连接”(这并不奇怪,因为手表模拟器没有 SAP 库):
我还使用adb -e forward tcp:8230 tcp:8230、-e 执行了adb 命令,因为主机不是USB 设备而是模拟器。
为了确保我没有遗漏任何东西,我安装了 Tizen 3.0 模拟器(它显然无法运行我为 5.5 编译的应用程序),而且这个模拟器实际上安装了 SAP 库。
所以我去了第 2 步,在 Android 模拟器上打开了“三星配件模拟器”,但每当它尝试与 Tizen 模拟器连接时,它就会崩溃:
另一个设计精良的三星软件。
如果有人感兴趣,这里是错误:
2021-03-13 14:36:46.734 5124-5157/com.samsung.accessory.framework E/AndroidRuntime: FATAL EXCEPTION: SAP_DAEMON_HANDLER_THREAD
Process: com.samsung.accessory.framework, PID: 5124
java.lang.ArrayIndexOutOfBoundsException: Failed to update offset while sending the message! [offset=0; size=2]
at com.samsung.accessory.session.SAMessage.decrementOffset(SAMessage.java:359)
ArrayIndexOutOfBoundsException:天哪。
郑重声明:三星人:真丢脸!您设法创建了世界上最糟糕的 SDK。您的示例必须方式更易于安装!
【问题讨论】:
标签: tizen tizen-wearable-sdk tizen-emulator tizen-studio