微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用模拟器测试配套应用程序?

如何解决使用模拟器测试配套应用程序?

我想为我的 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 测试我的配套应用程序的 guidance,但它没有帮助。

原来我需要安装“Samsung Wearable Extension”。所以我做到了:

enter image description here

但是我的模拟器没有获得扩展库,所以 Tizen Studio 无法构建这些示例,因为它找不到 sap.h

enter image description here

我在网上搜索了这个问题,但一无所获。从 Tizen 3.0 版开始,Samsung Wearable Extension 似乎没有为 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

现在我的问题是我在 sap 中没有用于 tizen4.0 的 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 库。

第二步是让我的 Android 模拟器连接到 Tizen5.5 模拟器:

我设法将 SAccessoryService_Emul.apk 安装到我的 Android 模拟器,但我无法让它识别我的手表模拟器,它总是显示“已断开连接”(并不奇怪,因为手表模拟器没有 SAP 库) :

enter image description here

我还对 adbadb -e forward tcp:8230 tcp:8230 执行了 -e 命令,因为主机不是 USB 设备而是模拟器。

为了确保我没有遗漏任何东西,我已经安装了 Tizen 3.0 模拟器(它显然无法运行我为 5.5 编译的应用程序),并且这个模拟器实际上安装了 SAP 库。

所以我转到了第 2 步,并在 Android 模拟器上打开了“三星附件模拟器”,但是每当它尝试与 Tizen 模拟器连接时,它就会崩溃:

enter image description here

一个设计精良的三星软件。

如果有人感兴趣,这里是错误

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。您的示例必须方式更容易安装!

解决方法

我遇到了同样的问题,即使安装了所有三星 SDK。

所以,我所做的是,转到 Project > Properties > C/C++ Build > Tizen Settings 并检查 Samsung-sap 选项。

enter image description here

解决了 fatal error: 'sap.h' file not found 错误

,

F.Y.I
首先,模拟器不支持SAP。不幸的是,它只支持真机。

您需要在平台选项卡中将架构从 x86 更改为 arm。 并且,您可以选择 samsung-sap 并构建代码而不会出错。

如果您使用模拟器运行/调试您的应用程序,Tizen Studio 会自动将设置从 arm 更改为 x86。又会遇到build ERROR!!

enter image description here enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?