我想为我的Tizen5.5手表开发一个配套应用程序,它使用来自手机(Android 主机)的信息。我正在使用 Tizen Studio在Windows 10上工作。
我找到了一个我想测试的好例子:https ://developer.samsung.com/galaxy-watch-develop/samples/companion/hello-native.html ,它的日期是 2016 年,有点旧,但我没有没有发现任何更新的东西。
对于开发,我想使用 Tizen5.5 模拟器和 Android Studio 的模拟器。
我找到了有关如何使用 Tizen Emulator 测试我的配套应用程序的指南,但它没有帮助。
原来我需要安装“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
现在我的问题是我没有tizen4.0 的sap
文件夹add-ons
。我只有 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
命令adb -e forward tcp:8230 tcp:8230
,-e
因为主机不是 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。您的样品必须更容易安装!