连接 android M 设备时出现 Alljoyn 文件传输问题
Alljoyn file transfer issue when connect with android M device
您好,我在尝试发送表单时无法发送和接收文件 alljoyn
示例演示。
我使用了 alljoyn
提供的 16.4 jar
和 .so
文件。
此处提供jar
和.so
https://github.com/onbiron/AllJoyn
我在尝试加入会话时遇到此类错误。
12-19 17:42:04.371 14705-14823/org.alljoyn.cops.filetransfer.sampleapp E/PERMISSION_MGR: 1.906 ****** ERROR PERMISSION_MGR lepDisp2_0 ...ndroid/PermissionDB.cc:182 | Failed to open /data/system/packages.xml: ER_FAIL
12-19 17:42:35.739 14705-14867/org.alljoyn.cops.filetransfer.sampleapp E/ALLJOYN_OBJ: 33.275 ****** ERROR ALLJOYN_OBJ JoinS-2 .../router/AllJoynObj.cc:2870 | SendAttachSession failed: ER_BUS_REPLY_IS_ERROR_MESSAGE
12-19 17:42:35.739 14705-14865/org.alljoyn.cops.filetransfer.sampleapp E/ALLJOYN_OBJ: 33.275 ****** ERROR ALLJOYN_OBJ JoinS-1 .../router/AllJoynObj.cc:2870 | SendAttachSession failed: ER_BUS_REPLY_IS_ERROR_MESSAGE
12-19 17:42:35.744 14705-14867/org.alljoyn.cops.filetransfer.sampleapp E/ALLJOYN_OBJ: 33.280 ****** ERROR ALLJOYN_OBJ JoinS-2 .../router/AllJoynObj.cc:1110 | Failed to attach session 3934278432 to :LL5lO2PF.2: ER_BUS_REPLY_IS_ERROR_MESSAGE
12-19 17:42:35.744 14705-14865/org.alljoyn.cops.filetransfer.sampleapp E/ALLJOYN_OBJ: 33.280 ****** ERROR ALLJOYN_OBJ JoinS-1 .../router/AllJoynObj.cc:1110 | Failed to attach session 3934278432 to :LL5lO2PF.2: ER_BUS_REPLY_IS_ERROR_MESSAGE
12-19 17:42:36.206 14705-17188/org.alljoyn.cops.filetransfer.sampleapp E/LOCAL_TRANSPORT: 33.742 ****** ERROR LOCAL_TRANSPORT lepDisp2_0 ...src/LocalTransport.cc:597 | LocalEndpoint::DoPushMessage failed: ER_BUS_UNMATCHED_REPLY_SERIAL
12-19 17:42:36.209 14705-17225/org.alljoyn.cops.filetransfer.sampleapp E/LOCAL_TRANSPORT: 33.745 ****** ERROR LOCAL_TRANSPORT lepDisp2_1 ...src/LocalTransport.cc:597 | LocalEndpoint::DoPushMessage failed: ER_BUS_UNMATCHED_REPLY_SERIAL
12-19 17:42:37.869 14705-14747/org.alljoyn.cops.filetransfer.sampleapp E/Surface: getSlotFromBufferLocked: unknown buffer: 0xb9327058
12-19 17:42:39.866 14705-14747/org.alljoyn.cops.filetransfer.sampleapp E/Surface: getSlotFromBufferLocked: unknown buffer: 0xb944b690
请注意,AllJoyn 文件传输服务应用程序已经 3 年没有提交,标记为 legacy/archived。未激活。
您提到的问题似乎是加入请求期间超时。这对我来说不是什么大问题(几天内只看到一次,解决方法是简单地重新尝试加入会话,然后成功)。我相信当网络中有 congestion/delays 时,这种超时很少发生。
但是,当 运行在 Android 6.0 上安装此应用程序时,我确实遇到了其他几个问题,这些问题导致文件传输无法正常工作。其中包括:
- 无法从设备read/write 文件。需要在 运行 时请求 read/write 权限,即使它们已经在清单中。这似乎是 Android 6.0 版及更高版本(API 23+ 级)所必需的。参见
- 该应用程序使用 /mnt/sdcard 的硬编码保存目录路径。我的 Nexus 5 运行ning 6.0.1 上不存在此路径。需要使用 Environment.getExternalStorageDirectory() 绝对路径而不是使用硬编码路径。
- 重新启动这两个应用程序之一会导致对等点之间的文件传输不再有效(除非另一个应用程序也已重新启动)。需要使用 SessionListener 来释放连接对象并在收到会话丢失时重置 GUI 视图。
- 处理从托管应用程序接收到多个并发找到的广告时发生重复加入会话处理的情况。这导致可用对等点的 GUI 列表视图显示重复的对等点条目。当应用程序尝试通过会话发送 alljoyn 信号时,还导致 "share file" 随后因 ER_BUS_NO_SUCH_OBJECT 而失败。
我的 github 存储库(AllJoyn 文件传输服务应用程序的分支)中提供了这些问题的修复程序:https://github.com/psigurdson/alljoyn-services-filetransfer
您好,我在尝试发送表单时无法发送和接收文件 alljoyn
示例演示。
我使用了 alljoyn
提供的 16.4 jar
和 .so
文件。
此处提供jar
和.so
https://github.com/onbiron/AllJoyn
我在尝试加入会话时遇到此类错误。
12-19 17:42:04.371 14705-14823/org.alljoyn.cops.filetransfer.sampleapp E/PERMISSION_MGR: 1.906 ****** ERROR PERMISSION_MGR lepDisp2_0 ...ndroid/PermissionDB.cc:182 | Failed to open /data/system/packages.xml: ER_FAIL
12-19 17:42:35.739 14705-14867/org.alljoyn.cops.filetransfer.sampleapp E/ALLJOYN_OBJ: 33.275 ****** ERROR ALLJOYN_OBJ JoinS-2 .../router/AllJoynObj.cc:2870 | SendAttachSession failed: ER_BUS_REPLY_IS_ERROR_MESSAGE
12-19 17:42:35.739 14705-14865/org.alljoyn.cops.filetransfer.sampleapp E/ALLJOYN_OBJ: 33.275 ****** ERROR ALLJOYN_OBJ JoinS-1 .../router/AllJoynObj.cc:2870 | SendAttachSession failed: ER_BUS_REPLY_IS_ERROR_MESSAGE
12-19 17:42:35.744 14705-14867/org.alljoyn.cops.filetransfer.sampleapp E/ALLJOYN_OBJ: 33.280 ****** ERROR ALLJOYN_OBJ JoinS-2 .../router/AllJoynObj.cc:1110 | Failed to attach session 3934278432 to :LL5lO2PF.2: ER_BUS_REPLY_IS_ERROR_MESSAGE
12-19 17:42:35.744 14705-14865/org.alljoyn.cops.filetransfer.sampleapp E/ALLJOYN_OBJ: 33.280 ****** ERROR ALLJOYN_OBJ JoinS-1 .../router/AllJoynObj.cc:1110 | Failed to attach session 3934278432 to :LL5lO2PF.2: ER_BUS_REPLY_IS_ERROR_MESSAGE
12-19 17:42:36.206 14705-17188/org.alljoyn.cops.filetransfer.sampleapp E/LOCAL_TRANSPORT: 33.742 ****** ERROR LOCAL_TRANSPORT lepDisp2_0 ...src/LocalTransport.cc:597 | LocalEndpoint::DoPushMessage failed: ER_BUS_UNMATCHED_REPLY_SERIAL
12-19 17:42:36.209 14705-17225/org.alljoyn.cops.filetransfer.sampleapp E/LOCAL_TRANSPORT: 33.745 ****** ERROR LOCAL_TRANSPORT lepDisp2_1 ...src/LocalTransport.cc:597 | LocalEndpoint::DoPushMessage failed: ER_BUS_UNMATCHED_REPLY_SERIAL
12-19 17:42:37.869 14705-14747/org.alljoyn.cops.filetransfer.sampleapp E/Surface: getSlotFromBufferLocked: unknown buffer: 0xb9327058
12-19 17:42:39.866 14705-14747/org.alljoyn.cops.filetransfer.sampleapp E/Surface: getSlotFromBufferLocked: unknown buffer: 0xb944b690
请注意,AllJoyn 文件传输服务应用程序已经 3 年没有提交,标记为 legacy/archived。未激活。
您提到的问题似乎是加入请求期间超时。这对我来说不是什么大问题(几天内只看到一次,解决方法是简单地重新尝试加入会话,然后成功)。我相信当网络中有 congestion/delays 时,这种超时很少发生。
但是,当 运行在 Android 6.0 上安装此应用程序时,我确实遇到了其他几个问题,这些问题导致文件传输无法正常工作。其中包括:
- 无法从设备read/write 文件。需要在 运行 时请求 read/write 权限,即使它们已经在清单中。这似乎是 Android 6.0 版及更高版本(API 23+ 级)所必需的。参见
- 该应用程序使用 /mnt/sdcard 的硬编码保存目录路径。我的 Nexus 5 运行ning 6.0.1 上不存在此路径。需要使用 Environment.getExternalStorageDirectory() 绝对路径而不是使用硬编码路径。
- 重新启动这两个应用程序之一会导致对等点之间的文件传输不再有效(除非另一个应用程序也已重新启动)。需要使用 SessionListener 来释放连接对象并在收到会话丢失时重置 GUI 视图。
- 处理从托管应用程序接收到多个并发找到的广告时发生重复加入会话处理的情况。这导致可用对等点的 GUI 列表视图显示重复的对等点条目。当应用程序尝试通过会话发送 alljoyn 信号时,还导致 "share file" 随后因 ER_BUS_NO_SUCH_OBJECT 而失败。
我的 github 存储库(AllJoyn 文件传输服务应用程序的分支)中提供了这些问题的修复程序:https://github.com/psigurdson/alljoyn-services-filetransfer