NeverCrash

全局捕获Crash的库
授权协议 MIT
开发语言 Java
所属分类 手机/移动开发、 Android UI 组件
软件类型 开源软件
地区 国产
投 递 者 蔡鸿骞
操作系统 Android
开源组织
适用人群 未知
 软件概览

NeverCrash for Android 一个全局捕获Crash的库。信NeverCrash,永不Crash。

Gif 展示

Image

引入

Maven:

<dependency>
  <groupId>com.king.thread</groupId>
  <artifactId>nevercrash</artifactId>
  <version>1.0.0</version>
  <type>pom</type>
</dependency>

Gradle:

compile 'com.king.thread:nevercrash:1.0.0'

Lvy:

<dependency org='com.king.thread' name='nevercrash' rev='1.0.0'>
  <artifact name='$AID' ext='pom'></artifact>
</dependency>

如果Gradle出现compile失败的情况,可以在Project的build.gradle里面添加如下:(也可以使用上面的GitPack来complie)

allprojects {
    repositories {
        maven { url 'https://dl.bintray.com/jenly/maven' }
    }
}

示例

核心代码(大道至简)

NeverCrash.init(CrashHandler);

代码示例

public class App extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        NeverCrash.init(new NeverCrash.CrashHandler() {
            @Override
            public void uncaughtException(Thread t, Throwable e) {
                Log.d("Jenly", Log.getStackTraceString(e));
//                e.printStackTrace();
                showToast(e.getMessage());


            }
        });
    }

    private void showToast(final String text){

        new Handler(Looper.getMainLooper()).post(new Runnable() {
            @Override
            public void run() {
                Toast.makeText(getApplicationContext(),text,Toast.LENGTH_SHORT).show();
            }
        });
    }

}
 相关资料
  • 问题内容: 我有一个Java 7程序,该程序加载成千上万个对象(组件),每个对象具有许多参数(存储在中),并在这些对象上执行各种Rhino脚本以计算其他派生参数,这些参数又存储回该对象的中。在运行每个脚本之前,将创建一个对象,该对象由该对象的映射支持,该映射在脚本运行期间用作JavaScript的作用域。 作为一个简单的示例,以下代码创建一个a = 10和b = 20的代码,并执行脚本,结果将其存

  • 问题内容: 我用Java制作了一个简单的媒体播放器,但是我 想记录诸如+的全局按键,以暂停/恢复当前正在播放的音乐, 而JFrame没有聚焦, 但是由于JVM安全问题,似乎无法实现。 我遇到了JNativeHook,但是我只想为Windows实现我自己的方法。请建议如何做以及从哪里开始? 问题答案: Jintellitype是一个比较简单的解决方案。 https://code.google.com

  • 问题内容: 我有一个应用程序,需要编写一个自定义的全局未捕获的异常处理程序。我已经阅读了所有stackoverflow线程,并且其中每个线程都只是缺少一个清晰而简单的示例,说明了如何实现这一点。 考虑以下简单示例: 它抛出一个标准异常,它只是一个标准输出。我如何实现自己的异常,该异常可以通过将错误输出到日志文件中的简单方法覆盖标准异常?显然,实际的应用程序要大得多,我们正在谈论未捕获的异常,这就是

  • 问题内容: 我问一个有关如何覆盖默认的Java异常处理问题,被告知的答案在这里。 现在的问题是:是否有一种方法可以将该处理程序泛化为所有线程,而无需在每个线程中明确声明? 我认为应该可以某种方式获取所有线程,然后将其绑定到异常处理程序? 问题答案: 使用。正如javadoc所说: “通过设置默认的未捕获异常处理程序,应用程序可以更改那些已经接受系统提供的任何“默认”行为的线程的未捕获异常处理方式(

  • Common Reusable SHell (CRaSH) 基于 Java 发布提供与 JVM 进行交互的 SHELL 环境,可使用 Groovy 编写命令。

  • 我正在我的应用程序中实现授权,其中我使用Alamofire 4.0.我有一个令牌可以添加到我发出的每个HTTP请求的头中,如果响应代码是401,我必须签入每个请求,在这种情况下,我必须注销用户。 最佳实践是什么?有没有一种简单的方法将这种行为添加到每个请求中? 我在这里查看了会话管理器和请求适配器,创建单例请求管理器并使用它来创建请求非常容易,但是我找不到为401响应代码添加集中验证的好方法。这必