# AndroidCrashHelper
Android Crash Helper。安卓APP自定义异常处理器,Release状态下意外奔溃提示更加友好(代替系统默认的那个讨厌的对话框),不影响Debug模式下LogCat的打印。
```
************************************************************************
** _oo0oo_ **
** o8888888o **
** 88" . "88 **
** (| -_- |) **
** 0\ = /0 **
** ___/'---'\___ **
** .' \\\| |// '. **
** / \\\||| : |||// \\ **
** / _ ||||| -:- |||||- \\ **
** | | \\\\ - /// | | **
** | \_| ''\---/'' |_/ | **
** \ .-\__ '-' __/-. / **
** ___'. .' /--.--\ '. .'___ **
** ."" '< '.___\_<|>_/___.' >' "". **
** | | : '- \'.;'\ _ /';.'/ - ' : | | **
** \ \ '_. \_ __\ /__ _/ .-' / / **
** ====='-.____'.___ \_____/___.-'____.-'===== **
** '=---=' **
************************************************************************
```
# How to use
###下载AndroidCrashHelper,复制其中的“CrashHelper”到新项目作为依赖项:
```
dependencies {
compile project(':CrashHelper')
}
```
### 最简单暴力的使用方法只需在AndroidManifest.xml中加入两句代码:
```xml
<application
android:name="cn.qqtheme.framework.AppContext"
...>
<activity android:name="cn.qqtheme.framework.activity.CrashActivity" />
...
</application>
```
下面是更灵活的应用。。。
### 分别建立一个Application子类及Activity子类,并在AndroidManifest.xml中声明:
```xml
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<application
android:name=".DemoApp"
...>
...
<activity
android:name=".MyCrashActivity"
android:exported="false">
<intent-filter>
<action android:name="liyujiang.intent.action.CRASH_ERROR" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
...
</application>
```
注:AppContext类负责初始化设置自定义的奔溃报告页,CrashActivity为默认的奔溃报告页。
如果未在Application的onCreate方法里调用“AppContext.initialize()”,自定义异常处理器将不会生效。
如果没有调用“AppContext.initialize()”或CrashHelper.setCrashActivityClass()”设置Activity,
或者没有在AndroidManifest.xml中声明CrashActivity或含有action为“liyujiang.intent.action.CRASH_ERROR”的Activity,
那么将在SD卡根目录下生成crash.log文件(前提是要有WRITE_EXTERNAL_STORAGE权限)。
法一、可以继承自任何Application及Activity,然后调用AppContext.initialize()初始化:
```java
public class DemoApp extends Application {
@Override
public void onCreate() {
super.onCreate();
AppContext.initialize(this, MyCrashActivity.class);
}
}
```
```java
public class MyCrashActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_custom_crash);
String stackTrace = CrashHelper.getStackTraceFromIntent(getIntent());
String deviceInfo = CrashHelper.getDeviceInfo();
...
}
}
```
法二、可以直接继承自AppContext及CrashActivity:
```java
public class DemoApp extends AppContext {
@Override
public void onCreate() {
super.onCreate();
//initialize other you want
}
}
```
```java
public class MyCrashActivity extends CrashActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_custom_crash);
TextView tv = (TextView)findViewById(R.id.stacktrace);
tv.setText(stackTrace);
...
}
}
```
# Screenshots
![效果图](/screenshots/1.png)
![效果图](/screenshots/2.gif)
![LogCat](/screenshots/3.jpg)
# Thanks
此项目核心代码来源于下面这个开源项目,大家去pull来学习吧:
https://github.com/Ereza/CustomActivityOnCrash
# Contacts
Tencent QQ: 1032694760
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。
资源推荐
资源详情
资源评论
收起资源包目录
Android Crash Helper。安卓APP自定义异常处理器,当APP触发未捕获的异常时,使用该处理器自定义有好的奔溃提示页面代替系统默认的那个讨厌的对话框.zip (32个子文件)
资料总结
gradle
wrapper
gradle-wrapper.jar 52KB
gradle-wrapper.properties 230B
screenshots
1.png 319KB
2.gif 772KB
3.jpg 161KB
app
src
main
java
cn
qqtheme
crash
demo
MyCrashActivity.java 1KB
DemoApp.java 433B
MainActivity.java 601B
res
drawable-xhdpi
ic_launcher.png 14KB
values
strings.xml 122B
styles.xml 211B
layout
activity_custom_crash.xml 623B
activity_main.xml 610B
AndroidManifest.xml 935B
proguard-rules.pro 695B
build.gradle 465B
.gitignore 16B
LICENSE 1KB
gradlew.bat 2KB
build.gradle 434B
settings.gradle 29B
gradlew 5KB
.gitignore 79B
README.md 5KB
CrashHelper
src
main
java
cn
qqtheme
framework
tool
CrashHelper.java 19KB
AppConfig.java 2KB
activity
CrashActivity.java 6KB
AppContext.java 3KB
AndroidManifest.xml 88B
proguard-rules.pro 678B
build.gradle 362B
.gitignore 16B
共 32 条
- 1
资源评论
妄北y
- 粉丝: 2w+
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 精选毕设项目-音乐播放器带后端.zip
- 精选项目-爱靓女带后台.zip
- 精选项目-城市地图带后端.zip
- 精选项目-巴爷商城带后端.zip
- 精选项目-简易记账带后端.zip
- 精选项目-集思笑话,含Vue.js后端,点赞.zip
- pre_ichat_release_v1.2.191.apk.1
- 基于SpringBoot+Vue的常规应急物资管理系统的设计与实现(代码+数据库+LW)
- 精选项目-看书阅读带后端.zip
- 精选项目-实时巴士带后端.zip
- 精选项目-客家旅运带后端.zip
- 精选项目-喵喵小说.zip
- 精选项目-天气预报带后端.zip
- 精选项目-图片预览带后端.zip
- 精选项目-式神猎手带后端.zip
- 精选项目-写笔记带后端.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功