Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android app崩潰日志收集以及上傳

android app崩潰日志收集以及上傳

編輯:關於Android編程

 

已經做成sdk的形式,源碼已公開,源碼看不懂的請自行google。

如果想定制適應自己app的sdk請自行fork。

 

 

AndroidLogCollector

android app崩潰日志收集sdk 1.0

 

作者:賈博士

崩潰日志收集方法:

1.LogCollector是lib包,在需要添加崩潰日志sdk的工程中導入此包。

2.導入lib後,在自己的工程的AndroidManifest.xml文件中加入權限:

        
        
        
        
        

3.在自己的工程中重寫自己的application,在oncreate中加入

    LogCollector.init(getApplicationContext(), UPLOAD_URL, params);

PS:重寫自己的application記得在Manifest注冊

參數:

1.Context

2.String UPLOAD_URL ,上傳地址url,支持http和https方式,post方法。

3.HttpParameters params ,自定義的類,用於post上傳其他參數。

說明:

發生崩潰後,日志會保存在 /data/data/{your package name}/files/ 目錄下

日志只有一個文件,多條數據日志保存

日志文件上傳成功後會自動刪除,上傳不成功則不刪除

日志格式可以根據自己的需求在源碼中改動

http的post傳的數據也可自行修改

參考代碼:

    public class MyApplication extends Application {
        //post method , upload logfile url,replace your site . support http or https
        private static final String UPLOAD_URL = http://xxxxxxxx;

        @Override
        public void onCreate() {
        super.onCreate();

        //upload logfile , post params.
        HttpParameters params = new HttpParameters();
        params.add(key1, value1);
        params.add(key2, value2);
        params.add(key3, value3);
        //.......
        //replace your key and value;

        boolean isDebug = true;
        //set debug mode , you can see debug log , and also you can get logfile in sdcard;
        LogCollector.setDebugMode(isDebug);
        LogCollector.init(getApplicationContext(), UPLOAD_URL, params);//params can be null
        }
    }

上傳日志方法:

需要先在application中執行init,

然後在任何位置添加如下代碼:

    LogCollector.upload(boolean isWifiOnly);

參數:

1.boolean isWifiOnly; true代表只在wifi情況下發送,false代表有網的情況下就發送(包括流量和wifi)

您可以在service,activity等位置的合適時機觸發,不會卡界面也不會影響性能。

參考代碼:

    private void uploadLogFile(){
    boolean isWifiOnly = true;//only wifi mode can upload
    LogCollector.upload(isWifiOnly);//upload at the right time
    }

調試:

在init之前調用

    LogCollector.setDebugMode(boolean isDebug);

說明:

1.開啟調試後可以看到堆棧的log信息

2.同時可以在sd卡下的Android/data/{your package name}/Log/ 目錄下可以查看保存的崩潰log日志

該目錄下的日志不會自動刪除,請及時清空,避免占用空間


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved