http://bbs.coloros.com/thread-174655-1-1.html

急!!Service在OPPO系列手机下无法启动,寻求帮助

你好,我是网易邮件事业部1元夺宝开发工程师,最近三个版本发现一个崩溃很怪异,因为97%的奔溃都发生在OPPO机型,而且OPPO机型里85%是R7系列,以下是错误日志,麻烦童鞋们帮忙看看,谢谢! Fatal Exception: java.lang.RuntimeException: An error occured while executing doInBackground() at com.netease.mail.oneduobaohydrid.base.BaseAsyncTask$3.done(BaseAsyncTask.java:95) at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355) at java.util.concurrent.FutureTask.setException(FutureTask.java:222) at java.util.concurrent.FutureTask.run(FutureTask.java:242) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1115) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:590) at java.lang.Thread.run(Thread.java:818) Caused by java.lang.SecurityException: Unable to start service Intent { cmp=com.netease.mail.oneduobaohydrid/.service.OneService }: Unable to launch app com.netease.mail.oneduobaohydrid/10057 for service Intent { cmp=com.netease.mail.oneduobaohydrid/.service.OneService }: user 0 is restricted at android.app.ContextImpl.startServiceCommon(ContextImpl.java:1769) at android.app.ContextImpl.startService(ContextImpl.java:1742) at android.content.ContextWrapper.startService(ContextWrapper.java:527) at com.netease.mail.oneduobaohydrid.service.OneService.start(OneService.java:102) at com.netease.mail.oneduobaohydrid.OneApplication.init(OneApplication.java:207) at com.netease.mail.oneduobaohydrid.base.BaseApplication$1.doInBackground(BaseApplication.java:84) at com.netease.mail.oneduobaohydrid.base.BaseApplication$1.doInBackground(BaseApplication.java:75) at com.netease.mail.oneduobaohydrid.base.BaseAsyncTask$2.call(BaseAsyncTask.java:83) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1115) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:590) at java.lang.Thread.run(Thread.java:818)

你好,我们工程师看了一下,提出了一些问题:

OPPO手机内置有耗电管理的功能,可能该应用服务在后台启动时被判断为耗电的一种操作行为;
但是根据你的上面提交的资料,这个问题没有详细完整的Log或复现路径,不知道该应用是被OPPO手机内的耗电管理判断是哪种类型耗电,所以暂时无法提供方法。 
理论上如果该应用服务是合理地使用就不会被判断耗电。 
所以希望有完整的log以及复现路径提供给我们。

另一种方法是,你们可以尝试自己在启动服务时捕获异常,不上报,因为OPPO手机内对耗电管理的限制对他们的正常使用没有影响。

请问跟 APP 使用了 multi-dex 有关系么?
你们的 rom,启用了 ART 虚拟机么?

解决方法:

@ALL ,不好意思让大家久等了。
经过和OPPO工程师沟通,这个问题的原因是OPPO手机自动熄屏一段时间后,会启用系统自带的电量优化管理,禁止一切自启动的APP(用户设置的自启动白名单除外)。

所以,类似的崩溃常常集中在用户休息之后的夜里或者凌晨,但是并不影响用户平时的正常使用。

至于会出现user 0 is restricted,我觉得是coloros系统电量优化管理做得不好的地方。

对coloros官方的处理建议:既然禁止自启动,那么干脆直接force stop对应的进程,而不是抛出RuntimeException来让开发者买单。

对开发者处理建议:在服务启动的地方进行try catch防止崩溃即可(也是“1元夺宝”APP目前的处理方式)

bug--service--Caused by java.lang.SecurityException: Unable to start service Intent { }:user 0 is restricted的更多相关文章

  1. Android异常:唤醒锁未授权。(Caused by: java.lang.SecurityException: Neither user 10044 nor current process has android.permission.WAKE_LOCK.)

    Android异常:Caused by: java.lang.SecurityException: Neither user 10044 nor current process has android ...

  2. hive Caused by: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

    Exception in thread "main" java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata. ...

  3. Caused by: java.lang.IllegalStateException: Unable to complete the scan for annotations for web application [/Cppcc] due to a StackOverflowError. Possible root causes include a too low setting for -Xs

    解决办法:(1)修改D:\Java\apache-tomcat-7.0.88\conf\catalina.properties (122line) (2)如org.apache.catalina.st ...

  4. tomcat启动时检测到循环继承而栈溢出的问题:Caused by: java.lang.IllegalStateException: Unable to complete the scan for annotations for web application [/test] due to a StackOverflowError. Possible root causes include

    最近在公司更新一个老项目的时候,发现部署项目后tomcat报错,错误如下: Caused by: java.lang.IllegalStateException: Unable to complete ...

  5. 【异常】Caused by: java.lang.IllegalStateException: RequestParam.value() was empty on parameter 0

    使用@RequestParam注解,必须指定名称如: @RequestParam("date")String date

  6. 我的Android进阶之旅------>解决DownloadManager报错java.lang.SecurityException: Invalid value for visibility: 2

    1.问题描述 今天使用Android系统的DownloadManager进行下载操作时,爆了如下所示的错误: java.lang.RuntimeException: Unable to start s ...

  7. 转:android DownloadManager: java.lang.SecurityException: Invalid value for visibility: 2

    1.问题描述 今天使用Android系统的DownloadManager进行下载操作时,爆了如下所示的错误: java.lang.RuntimeException: Unable to start s ...

  8. 编译异常 Caused by: java.lang.UnsupportedClassVersionError:

    Caused by: java.lang.UnsupportedClassVersionError: com/sumingk/platform/service/impl/ServiceSysPerso ...

  9. Caused by: java.lang.ClassNotFoundException: ognl.PropertyAccessor

    1.错误描述 usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ] [ -nonaming ] { -help ...

随机推荐

  1. 解决JS中各浏览器Date格式不兼容的问题

    IE,Chrome和FireFox等浏览器都支持的一种日期格式是:2015/11/30 19:29:23. 所以,可以这样写: var timeStr = new Date("2015/11 ...

  2. 在VC下采用ADO实现BLOB(Binary)数据的存储,读取,修改,删除。

    在VC下采用ADO实现BLOB(Binary)数据的存储,读取,修改,删除. 作者:邵盛松 2009-09-05 前言 1关于的BLOB(Binary)数据的存储和读取功能主要参考了MSDN上的一篇& ...

  3. appium 执行demo

    appium很早就了解了,一直没有之际操作过,最近把官网的demo搞下来执行了一遍,还是很有意思的 经过测试是可以跑起来的,不过跑得过程中,输入法需要默认为英文的,如果是中文的码输入的时候有点问题,可 ...

  4. 【转载】 Spark性能优化指南——基础篇

    转自:http://tech.meituan.com/spark-tuning-basic.html?from=timeline 前言 开发调优 调优概述 原则一:避免创建重复的RDD 原则二:尽可能 ...

  5. Ubuntu W: GPG error: http://archive.ubuntukey....NO_PUBKEY 8D5A09

    在用 sudo apt-get update 时出现这样的报错: W: GPG error: http://archive.ubuntukylin.com:10006/ubuntukylin xeni ...

  6. 一次 surface pro 3 的售后保修 黑色三月维权(HSD)

    已更新结束....原创 半根毛线 博文原址 http://www.cnblogs.com/hsd-/ 发现大量转载 转载请与作者联系 drizzle1996@outlook.com或注明转载 ---- ...

  7. 传统开发模型vs敏捷开发模型——过程模型的变革

    一.概念框架 在了解一个新概念的时候,最好的方法就是把它插入到原有的概念体系中.在不仅有助于对概念的记忆,更利于深刻地认识概念的本质.精髓.下图说明了"敏捷开发"在软件工程理论体系 ...

  8. System.Linq.Enumerable 中的方法 Aggregate 函数

      语法: public static TSource Aggregate<TSource>( this IEnumerable<TSource> source, Func&l ...

  9. Spring源码学习之: 通过Spring @PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作

    关于在spring  容器初始化 bean 和销毁前所做的操作定义方式有三种: 第一种:通过@PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作 第二 ...

  10. malloc分配的内存空间是连续的吗

    1.linux内核管理内存空间的分配,所有程序对内存空间的申请和其他操作,最终都会交给内核来管理. 2.linux实现的是“虚拟内存系统”,对用户而言,所有内存都是虚拟的,也就是说程序并不是直接运行在 ...