Android 8.0 不再允许后台service直接通过startService方式去启动,否则就会引起IllegalStateException.解决方式: if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { context.startForegroundService(new Intent(context, MyService.class)); } else { context.startService(new Intent(cont…
Android 8.0启动service报错:java.lang.RuntimeException和java.lang.IllegalStateException 错误信息: java.lang.RuntimeException: Unable to start receiver cn.edu.zut.broadservice.MyReceiver: java.lang.IllegalStateException: Not allowed to start service Intent { cm…
Android开发中,在Java层可以方便的捕获crashlog,但对于 Native 层的 crashlog 通常无法直接获取,只能通过系统的logcat来分析crash日志. 做过 Linux 和 Win32 开发的都知道,在pc上程序crash时可以生成 core dump 文件通过相关的工具分析函数调用堆栈及崩溃时的内存信息. 那么作为软件开发者有没有方法自己获取native层的crashlog呢?Android 系统是 Linux 内核,既然在Linux中crash时可以生成dump文…
一:问题描述    闪退(Crash)是客户端程序在运行时遭遇无法处理的异常或错误时而退出应用程序的表现,请从crash发生的原因分类与解决方法.在出现crash后如何捕捉并分析异常这两个问题给出自己的解决方案.    我们以Android平台为例,介绍下如何捕获Android应用的闪退信息,以帮助我们定位和解决导致闪退的问题代码.二:Android中的闪退    在讲解Android中的闪退之前,我们先来简单的复习下Java中的异常.1.Java中的异常    Java中的异常层次结构如下图所…
参考:http://blog.csdn.net/xyang81/article/details/42319789 问题:      QRD8926_110202平台的Browser必现报错.(去年的项目,客户反馈问题,提case让QRD提供技术支持) 测试步骤:浏览一会新闻或其他网站(>=3分钟),然后进入百度音乐(music.baidu.com/fm)界面, 点击歌手,播放一首歌,必现报错. F/libc (): Fatal signal (SIGBUS) at ), thread (andr…
转载请注明出处:http://blog.csdn.net/fishle123/article/details/50823358 我们的应用不可避免的会发生crash,假设是在调试阶段,我们能够使用Logcat查看异常信息.可是假设应用公布之后呢?假设在用户那边crash了,假设我们能够捕获这些crash信息,那么对我们定位crash原因并修复问题是非常有帮助的. 应用crash就可以能是Java层的异常导致的,也可能是native层导致,以下分别来看一下该怎样处理. 1 Java层的未捕获异常处…
1: startService -------stopService (this will call onDestroy) 2: bindService -------unbindService    (this will call onDestroy) 3: startService---bindService----stopService (nothing happen,  shoud call unbindService) 4: startService---bindService----…
使用 ndk-stack 的时候需要你的 lib 编译为 debug版的,通常需要下面的修改: 1. 修改 android.mk,增加,为 LOCAL_CFLAGS 增加 -g 选项 2. 修改 application.mk,增加 APP_OPTIM := debug 3. nkd-build -B 4. 从 obj/local/armeabi/ 下面把包复制到 libs/armeabi/ 5. 出现异常后,调用 adb logcat | ndk-stack -sym libs/armeabi/…
直行 第一 另外一种 第三种 总结 开门见山 开启服务有三种情况:假设直接使用服务,则没有必要进行绑定,可是假设要使用服务里面的方法.则要进行绑定. 具体的启动情况有下: ①调用startService().再调用stopService(). ②单独调用bindService()方法,再unbindService()后,以运行服务内部的方法. ③先调用startService(),再调用bindService()方法,再调用unbindService().最后调用stopService(). 特…
在Android开发中,程序Crash分三种情况:未捕获的异常.ANR(Application Not Responding)和闪退(NDK引发错误).其中未捕获的异常根据logcat打印的堆栈信息很容易定位错误.ANR错误也好查,Android规定,应用与用户进行交互时,如果5秒内没有响应用户的操作,则会引发ANR错误,并弹出一个系统提示框,让用户选择继续等待或立即关闭程序.并会在/data/anr目录下生成一个traces.txt文件,记录系统产生anr异常的堆栈和线程信息.如果是闪退,这问…