V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
gramyang
V2EX  ›  Android

现在的 bugly 是不能用了吗?

  •  
  •   gramyang · 2019-05-14 18:35:37 +08:00 · 10036 次点击
    这是一个创建于 2018 天前的主题,其中的信息可能已经有所发展或是发生改变。

    android 的版本是 28,集成好了。application 类代码如下:

    @Override
    public void onCreate() {
    CrashReport.initCrashReport(getApplicationContext(), "xxxxx", false);
    super.onCreate();
    }
    这种格式无论如何也可以捕捉到 crash 了吧?为什么我这边死活没反应呢?

    第 1 条附言  ·  2019-05-15 07:20:20 +08:00

    我想我找到bugly失效的原因了,虚拟机调试发现下面这一段: W/System.err: java.io.IOException: Cleartext HTTP traffic to android.bugly.qq.com not permitted
    at com.android.okhttp.HttpHandler$CleartextURLFilter.checkURLPermitted(HttpHandler.java:115)
    at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:458)
    at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:127)

    第 2 条附言  ·  2019-05-15 11:57:17 +08:00
    搞定了!!!
    主要有两个原因:一是 27 以上的 android 限制了非加密的网络请求,你要么降低版本,要么用 ssl 加密,要么添加设置,具体看: https://www.jianshu.com/p/cbd4ffc26501

    二是 multidex 设置不正确,这里涉及到最低版本 21 以上的 android 客户端自带 multidex 支持,不需要依赖,直接 multiDexEnabled true 开启即可。
    3 条回复    2019-05-15 16:43:28 +08:00
    qianji201712
        1
    qianji201712  
       2019-05-15 01:14:02 +08:00
    。。。。 你为什么要放在 super.onCreate() 前面 ?
    gramyang
        2
    gramyang  
    OP
       2019-05-15 07:14:17 +08:00
    @qianji201712 有影响吗?
    qianji201712
        3
    qianji201712  
       2019-05-15 16:43:28 +08:00
    @gramyang 按道理,你所有的自己的代码,都应该放在 super.onCreate(); 之后。

    super.onCreate(); 调用完了,Application 才算初始化了,你放在前面,都不敢确定你的 getApplicationContext() 是否正常。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4165 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 01:02 · PVG 09:02 · LAX 17:02 · JFK 20:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.