Bugly 热修复踩坑记录

作者: markRao | 来源:发表于2019-03-29 15:13 被阅读14次
    2019-03-29 09:38:35.108 435-435/? W/Layer: [Splash Screen com.rzj.zhongshi#0] opaque layer with plane alpha:0.83 cannot be handled by hwcomposer
    2019-03-29 09:38:35.116 31808-31808/? W/Tinker.Tinker: tinker patch directory: /data/user/0/com.***.********/tinker
    2019-03-29 09:38:35.118 31808-31808/? I/Tinker.Tinker: try to install tinker, isEnable: true, version: 1.9.11
    2019-03-29 09:38:35.119 31808-31808/? I/Tinker.TinkerLoadResult: parseTinkerResult loadCode:-2, process name:com.com.***.******** main process:true,
     systemOTA:false, fingerPrint:HUAWEI/DRA-AL00/HWDRA-M:8.1.0/HUAWEIDRA-AL00/1.0.0.160(C00):user/release-keys, oatDir:null, useInterpretMode:false
    2019-03-29 09:38:35.120 31808-31808/? W/Tinker.TinkerLoadResult: can't find patch file, is ok, just return
    2019-03-29 09:38:35.120 31808-31808/? I/Tinker.DefaultLoadReporter: patch loadReporter onLoadResult: patch load result,
     path:/data/user/0/com.rzj.zhongshi/tinker, code: -2,
     cost: 7ms
    2019-03-29 09:38:35.121 31808-31808/? W/Tinker.Tinker: tinker load fail!
    

    这个坑我踩了两天,然后加了 Bugly 内测分发交流群 ( QQ群 429975901 ) ,得到了答案,把 Tinker 的依赖版本降低

    // 指定tinker依赖版本(注:应用升级1.3.5版本起,不再内置tinker)
        implementation 'com.tencent.tinker:tinker-android-lib:1.9.9'
    

    Tinker的依赖库版本我之前一直是用最新的,设置为 latest.release ,哪里知道居然还是一个不稳定的版本,就这一个坑卡了两天,期间一直 Google、查 Bugly 文档,下载 Demo 比对,找不到问题,在这吐槽 Bugly 的坑货,不稳定的版本也发布。
    集成期间还遇到点小问题,比如 FileProvider 冲突问题

    <!-- 兼容安卓 N -->
            <provider
                android:name=".utils.BuglyFileProvider"
                android:authorities="${applicationId}.fileProvider"
                android:exported="false"
                android:grantUriPermissions="true"
                tools:replace="name,authorities,exported,grantUriPermissions">
                <meta-data
                    android:name="android.support.FILE_PROVIDER_PATHS"
                    android:resource="@xml/provider_paths"
                    tools:replace="name,resource" />
            </provider>
    
    import android.support.v4.content.FileProvider;
    
    public class BuglyFileProvider extends FileProvider {
    }
    

    因为有其他第三方 SDK 有用到 FileProvider ,但是同样的 android:authorities 会造成冲突,所以新建一个类继承 FileProvider ,如果有用到混淆,要记得 keep 住 supper 库。下一篇博客写不用第三方热修复 SDK 如何实现热修复的全过程及实现原理。

    相关文章

      网友评论

        本文标题:Bugly 热修复踩坑记录

        本文链接:https://www.haomeiwen.com/subject/kxplbqtx.html