使用Bugly實現(xiàn)android熱更新

今天研究熱更新的時候研究了微信的Tinker熱更新框架,后來發(fā)現(xiàn)Bugly的升級SDK已經封裝好了Tinker。

而且提供一站式服務,還免費 :-D

步驟如下:
  • 1、引用Bugly升級SDK.

    在app module中添加如下引用

     compile 'com.android.support:multidex:1.0.1'// 多dex配置
     compile 'com.tencent.bugly:crashreport_upgrade:latest.release'    //其中l(wèi)atest.release指代最新版本號,也可以指定明確的版本
    

在工程項目bulid.gradle中添加以下代碼:
classpath "com.tencent.bugly:tinker-support:latest.release"
為app module添加依賴:
apply from: 'tinker-support.gradle'

  • 2、配置tinker-support.gradle

    在app目錄下創(chuàng)建一個tinker-support.gradle文件。
    apply plugin: 'com.tencent.bugly.tinker-support'

       def bakPath = file("${buildDir}/bakApk/")
    
       def appName = "app-0118-15-09-30"
    
       /**
        * 對于插件各參數(shù)的詳細解析請參考
        */
       tinkerSupport {
       
           // 開啟tinker-support插件,默認值true
           enable = true
    
           // 指定歸檔目錄,默認值當前module的子目錄tinker
           autoBackupApkDir = "${bakPath}"
    
           // 是否啟用覆蓋tinkerPatch配置功能,默認值false
           // 開啟后tinkerPatch配置不生效,即無需添加tinkerPatch
           overrideTinkerPatchConfiguration = true
                
           // 編譯補丁包時,必需指定基線版本的apk,默認值為空
           // 如果為空,則表示不是進行補丁包的編譯
           // @{link tinkerPatch.oldApk }
           baseApk =  "${bakPath}/${appName}/app-release.apk"
    
           // 對應tinker插件applyMapping
           baseApkProguardMapping = "${bakPath}/${appName}/app-release-mapping.txt"
    
           // 對應tinker插件applyResourceMapping
           baseApkResourceMapping = "${bakPath}/${appName}/app-release-R.txt"
    
           // 唯一標識當前版本
           tinkerId = "1.0.1-patch"
    
           // 是否開啟代理Application,設置之后無須改造Application,默認為false
           enableProxyApplication = true
       }
    
  • 3、生成基準包和補丁包

    按照文檔配置好需要的權限,在Application中做好BuglySDK的初始化后我們就可以開始熱更新測試了。
    通過build中的assembleRealse生成基準包


    如果您的代碼使用了混淆功能還會生成一個mapping文件。

修改tinker-support.gradle中的tinkerId為新版本的標識符。appName為你生成基準包的目錄。
然后使用

生成補丁
補丁目錄

即可生成補丁,然后通過Bugly后臺

上傳補丁

上傳補丁即可。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容