2017-08-05 74 views
0

我正准备发布一个Android应用到具有支持WebRTC和Socket.io内置了视频聊天功能的Play商店。该应用程序完美工作在调试模式,但是当我创建一个签名apk我的应用程序有一个主要问题。Socket.io失败签署的Android APK但不是无符号APK

的问题是,使用签名的APK,我仍然能够成功地开始视频聊天。但是,如果我强制退出该应用并重新打开该应用,则无法再次开始视频聊天。

这似乎发生,因为我的应用程序是无法力量退出应用程序,然后重新打开应用程序后,连接到socket服务器。我能错误感谢查明这个socket.io回调

socket.on('reconnect_error', (error) => { 
    alert(error); 
}); 

的警告错误是

error: xhr poll error android

回答

0

工作一切良好,在现在的签署APK。我把它通过https://developer.android.com/training/articles/security-ssl.html

阅读在常见问题验证服务器证书后,开始工作,其中一个问题是

The server configuration is missing an intermediate CA

事实证明,这是失败的背后Socket.io发出呼叫。我继续https://www.sslshopper.com,并在我的套接字服务器的URL和端口。它告诉我我的设置有问题。我回头看看我的套接字服务器的代码,并意识到我指定了错误的选项。我忘了,包括cacert被指向了错误的文件。我使用的是让我们的加密,并https://community.letsencrypt.org/t/node-js-configuration/5175 真的帮我找出正确的选项。

const https = require('https'); 
const fs = require('fs'); 

var options = { 
    key: fs.readFileSync('/path/to/privkey.pem'), 
    cert: fs.readFileSync('/path/to/fullchain.pem'), 
    ca: fs.readFileSync('/path/to/chain.pem') 
} 

https.createServer(options, (req, res) => { 
    res.writeHead(200); 
    res.end('hello world\n'); 
}).listen(8000);