2016-12-19 68 views
1

您好,我無法發送和接收文件,當嘗試發送表格alljoyn示例演示。與Android M設備連接Alljoyn文件傳輸問題

我已經使用16.4 jar.so文件,該文件由alljoyn提供。

這裏提供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 

回答

1

請注意,AllJoyn文件傳輸服務應用程序在3年內沒有提交,並被標記爲遺留/歸檔。它不活躍。

您提到的問題似乎是加入請求期間的超時。這對我來說不是什麼大問題(只有幾天纔看到它,而解決方法是簡單地重試加入會議,然後成功)。我相信當網絡出現擁塞/延遲時,這種超時很少發生。

但是,在Android 6.0上運行它時,我確實遇到了此應用程序的其他一些問題,這阻礙了文件傳輸的正常工作。其中包括:

  • 無法從設備讀取/寫入文件。即使它們已經在清單中,也需要在運行時請求讀/寫權限。這似乎是Android 6.0及更高版本(API級別23+)所必需的。請參閱https://stackoverflow.com/a/38989237/7281796
  • 該應用程序使用/ mnt/sdcard的硬編碼保存目錄路徑。此路徑在運行6.0.1的Nexus 5上不存在。需要使用Environment.getExternalStorageDirectory()絕對路徑,而不是使用硬編碼路徑。
  • 重新啓動這兩個應用程序之一會導致對等設備之間的文件傳輸不再有效(除非其他應用程序也重新啓動)。需要使用SessionListener來釋放連接對象並在收到會話丟失時重置GUI視圖。
  • 處理從主機應用程序接收到多個併發發現廣告時發生重複聯合會話處理的情況。這導致可用對等體的GUI列表視圖顯示重複的對等體條目。當應用程序試圖通過會話發送alljoyn信號時,還會導致「共享文件」隨後因ER_BUS_NO_SUCH_OBJECT而失敗。

修復這些問題都在我的github存儲庫(在AllJoyn文件傳輸服務的應用程序的叉子)可得:https://github.com/psigurdson/alljoyn-services-filetransfer