Android studio( build.gradle)打包之后,保存APK和Mapping文件


線上APP出現(xiàn)BUG問題,但是BUG信息是混淆后的類文件路徑,不利于BUG原因的查詢和解決,首先我們要做的就是保存對應(yīng)線上版本的混淆Mapping文件。


//針對多渠道,打包后自動將對應(yīng)APP和Mapping文件備份,防止重復(fù)打包覆蓋。(放在APP下的build.gradle)

/執(zhí)行productFlavors 同名任務(wù)的時候,就會執(zhí)行
tasks.whenTaskAdded { task ->
    android.productFlavors.all { flavor ->
        if (task.name.equalsIgnoreCase("assemble" + flavor.name)) {
            task.doLast {
                copyFile();
            }
        }
    }
}

void copyFile(){
    String desktopDir = "$rootDir"
    println(desktopDir)
    def dayTime = new java.text.SimpleDateFormat("yy_MM_dd").format(new Date())
    def secondTime = new java.text.SimpleDateFormat("HH-mm-ss").format(new Date())
    File cacheFile = new File(desktopDir + java.io.File.separator + "cache" + java.io.File.separator + dayTime);
    if (!cacheFile.exists()) {
        cacheFile.mkdirs();
    }
    android.productFlavors.all { flavorTow ->
        copy {
            from "$buildDir" + '/outputs/apk'
            //注意通配符
            include "*" + flavorTow.name + "*.apk"
            into cacheFile.getPath()
            rename {
                flavorTow.name + android.defaultConfig.versionName + "_" + secondTime + ".apk"
            }
        }
        copy {
            from "$buildDir" + '/outputs/mapping/' + flavorTow.name + "/release"
            include "mapping.txt"
            into cacheFile.getPath()
            rename {
                flavorTow.name + android.defaultConfig.versionName + "_" + secondTime + ".txt"
            }
        }
    }
}

打開Studio 內(nèi)置的Proguard,還原錯誤信息


調(diào)用UI界面工具
***MacBook-Pro:****ketan$/Users/**/Library/Android/sdk/tools/proguard/bin/proguardgui.sh
//采用命令
retrace.bat -verbose mapping.txt stacktrace.txt > out.txt
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,355評論 25 708
  • Android插件化基礎(chǔ)的主要內(nèi)容包括 Android插件化基礎(chǔ)1-----加載SD上APKAndroid插件化基...
    隔壁老李頭閱讀 7,400評論 13 48
  • 最近項目有點(diǎn)閑,考慮到以前的項目沒有做過混淆,只是用了加固軟件進(jìn)行加固,為了安全性,準(zhǔn)備給項目加上,這里做個總結(jié),...
    想你依然心痛閱讀 837評論 0 4
  • 1 天色漸晚,斜陽已去,微風(fēng)不再,再一次系緊了斗篷,提了那發(fā)著慘白燈火的紅色燈籠,走過燈火通明的碧色長廊,絲絲入耳...
    周周Elena閱讀 655評論 0 4
  • 山有木兮木有枝,心悅君兮君不知。 今天是我家竹馬的婚禮,我很開心。這個從小保護(hù)我到大的竹馬,從現(xiàn)在開始就要屬于另外...
    帥氣吧啦閱讀 331評論 0 0

友情鏈接更多精彩內(nèi)容