• This repository has been archived on 20/Nov/2018
  • Stars
    star
    201
  • Rank 194,491 (Top 4 %)
  • Language
    Java
  • Created over 10 years ago
  • Updated over 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

[DEPRECATED] android程序崩溃异常处理框架

PLEASE NOTE, THIS PROJECT IS NO LONGER BEING MAINTAINED


android-crash

android crash 是我写的一个Android程序崩溃信息处理框架。通过它,可以在程序崩溃时收集崩溃信息并用你指定的方式发送出来。

在本框架中,我实现了邮件及HTTP POST请求的发送方式。如果要采用其他方式,可以继承AbstractCrashReportHandler类并实现其抽象方法。

使用本框架的方法只需要两个步骤。 1、添加依赖: 在repository中添加jcenter。

repository {
   jcenter() // or mavenCentral()
}

在dependencies中添加如下依赖。

compile 'com.githang:android-crash:1.0'

2、写一个类,继承自Application,并在AndroidManifest.xml中指定。然后在onCreate方法中添加如下代码:

使用E-mail方式,需要添加activation.jar, additionnal.jar, mail.jar 这三个jar包,可以从本项目的libs文件夹中获取。使用HTTP方式则不需要其他依赖库。

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

        initHttpReporter();
    }

    /**
     * 使用EMAIL发送日志
     */
    private void initEmailReporter() {
        CrashEmailReporter reporter = new CrashEmailReporter(this);
        reporter.setReceiver("你的接收邮箱");
        reporter.setSender("[email protected]");
        reporter.setSendPassword("xxxxxxxx");
        reporter.setSMTPHost("smtp.163.com");
        reporter.setPort("465");
        AndroidCrash.getInstance().setCrashReporter(reporter).init(this);
    }

    /**
     * 使用HTTP发送日志
     */
    private void initHttpReporter() {
        CrashHttpReporter reporter = new CrashHttpReporter(this) {
            /**
             * 重写此方法,可以弹出自定义的崩溃提示对话框,而不使用系统的崩溃处理。
             * @param thread
             * @param ex
             */
            @Override
            public void closeApp(Thread thread, Throwable ex) {
                final Activity activity = AppManager.currentActivity();
                Toast.makeText(activity, "发生异常,正在退出", Toast.LENGTH_SHORT).show();
                // 自定义弹出对话框
                new AlertDialog.Builder(activity).
                        setMessage("程序发生异常,现在退出").
                        setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        AppManager.AppExit(activity);
                    }
                }).create().show();
                Log.d("MyApplication", "thead:" + Thread.currentThread().getName());
            }
        };
        reporter.setUrl("http://crashreport.jd-app.com/your_receiver").setFileParam("fileName")
                .setToParam("to").setTo("你的接收邮箱")
                .setTitleParam("subject").setBodyParam("message");
        reporter.setCallback(new CrashHttpReporter.HttpReportCallback() {
            @Override
            public boolean isSuccess(int i, String s) {
                return s.endsWith("ok");
            }
        });
        AndroidCrash.getInstance().setCrashReporter(reporter).init(this);
    }

More Repositories

1

status-bar-compat

A compatible library for setting status bar color. Support MIUI, Flyme, EMUI3.1. 一行代码调用,布局零入侵。兼容小米,魅族,华为……
Java
995
star
2

gradledoc

Gradle 中文文档
193
star
3

androidkit

【已停止维护,请勿fork】android开发框架,可以帮助你大量提高android应用开发效率。
Java
163
star
4

gradle-publish

Gradle scripts to publish aar.
149
star
5

android-proguard-cn

Android混淆规则
IDL
125
star
6

IconTabPageIndicator

带图标文字的ViewPager导航指示器
Java
86
star
7

clip-image

ClipImageView liks wechat avatar cropper
Java
85
star
8

group-recycler-adapter

A RecyclerView adapter to show grouped data
Java
75
star
9

StepView

StepView for android
Java
49
star
10

rank-github-china

Github 中国区排名
Kotlin
39
star
11

AndroidSnippet

Android code snippets
Java
35
star
12

androiddoc

[DEPRECATED]加速打开Android文档的项目。
JavaScript
27
star
13

AndroidPNClient

Base on Androidpn. A android push notification framework based broadcast.
Java
13
star
14

fir-publisher

Gradle plugin for publish apk to fir.im
Groovy
13
star
15

hi-loadmore

Android通用上拉加载布局。
Java
11
star
16

scripts

Some scripts.
Shell
10
star
17

behavior-master

自定义Behavior集合
Java
10
star
18

gradle-doc-apk

Gradle UserGuide apk.
Java
9
star
19

apkUtil

a util to get application info from a apk file
Java
8
star
20

badge-drawable

Kotlin
8
star
21

dinny

Dinny is a library to implement the idea of protocol Activity jumps
Java
7
star
22

kotlin-guides-cn

https://github.com/android/kotlin-guides 的中文翻译
CSS
7
star
23

ActionSheet

ActionSheet for Android.
Java
7
star
24

DrawableWidget

可以在XML中定义drawableLeft, drawableRight等的大小的控件
Java
7
star
25

gradle-translation

Gradle 文档的中文翻译OmegaT项目。
HTML
5
star
26

sophix-patch-tool

3
star
27

hi-chart

Java
3
star
28

dockerfile

Shell
3
star
29

360-jiagu

360加固打包
Shell
2
star
30

tencent-library

1
star
31

SuperLog

A log util for android.
Java
1
star
32

angle

Fork from ANGLE -r86
Java
1
star
33

MetaCOS

MetaCOS
Java
1
star
34

RefreshListView

带下拉刷新,上拉加载,自动加载等功能的ListView。改自寒枫的RefreshListView
Java
1
star