Socket.io在签名的Android APK但未签名APK失败

时间:2017-08-05 20:33:01

标签: android node.js https socket.io webrtc

我正准备向Play商店发布Android应用程序,该应用程序具有使用WebRTC和Socket.io构建的视频聊天功能。该应用程序在调试模式下完美运行,但当我创建一个签名的apk时,我的应用程序有一个主要问题。

问题是使用签名的apk,我仍然可以成功启动视频聊天。但是,如果我强行退出应用程序并重新打开它,我将无法再次开始视频聊天。

似乎发生这种情况是因为强行退出应用程序后再重新打开应用程序,我的应用程序无法连接到套接字服务器。由于这个socket.io回调

,我能够查明错误
function reklamYukle() {
    var admobid = {};
    // TODO: replace the following ad units with your own
    if (/(android)/i.test(navigator.userAgent)) {
        admobid = { // for Android
            banner: 'ca-app-pub-5534669392136777/3711456161',
            interstitial: 'ca-app-pub-5534669392134577/5454702358'
        };
    } else if (/(ipod|iphone|ipad)/i.test(navigator.userAgent)) {
        admobid = { // for iOS
            banner: 'ca-app-pub-5534669392136777/7457497261',
            interstitial: 'ca-app-pub-5534669392136777/5896501200'
        };
    } else {
        admobid = { // for Windows Phone
            banner: 'ca-app-pub-6869992474017983/8878394753'
        };
    }

    AdMob.createBanner({
        adId: admobid.banner,
        position: AdMob.AD_POSITION.BOTTOM_CENTER,
        overlap: false,
        offsetTopBar: true,
        bgColor: 'black',
        autoshow: true
    });

    AdMob.prepareInterstitial({
        adId: admobid.interstitial,
        autoShow: true
    });
}
function onDeviceReady() {
    reklamYukle();
}
    document.addEventListener("deviceready", onDeviceReady, false);

警告错误

  

错误:xhr poll error android

1 个答案:

答案 0 :(得分:0)

现在,在签名的apk上一切正常。阅读完https://developer.android.com/training/articles/security-ssl.html

后,我开始工作了

验证服务器证书的常见问题下,其中一个问题是

  

服务器配置缺少中间CA

事实证明,这是失败的Socket.io调用背后的问题。我继续https://www.sslshopper.com,并为我的套接字服务器添加了url和端口。它告诉我,我的设置有问题。我回顾了我的套接字服务器的代码,并意识到我指定了错误的选项。我忘了包含 public void close(){ try { DBFUtils.close(reader); } catch (Exception e) { e.printStackTrace(); } } ,而ca指的是错误的文件。我正在使用Let的加密功能,https://community.letsencrypt.org/t/node-js-configuration/5175  真的帮我找出了正确的选择。

cert