问题描述

我是用预制纯二进制apk的方式打包目标apk进android系统rom,安装完rom,发现目标apk无法正常启动,就是一直在启动界面那里转圈。但是通过正常安装第三方apk的方式可以顺利运行。

复现步骤

1.启动android系统

2.点击目标app图标

预期结果

可以正常启动apk

实际结果

先贴和uniapp相关的logcat(通过adb logcat | grep io.dcloud.bddt得到的log):

06-26 21:53:46.991 1508 3461 I ActivityTaskManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=io.dcloud.bddt/io.dcloud.PandoraEntryActivity bnds=[27,648][193,866] (has extras)} from uid 10105

06-26 21:53:47.087 1508 4816 W DevicePolicyManager: Package io.dcloud.bddt (uid=10105, pid=5536) cannot access Device IDs

06-26 21:53:47.088 3521 4104 W TelephonyPermissions: reportAccessDeniedToReadIdentifiers:io.dcloud.bddt:getIccSerialNumber:isPreinstalled=true:isPrivApp=true

06-26 21:53:47.098 1508 4816 W DevicePolicyManager: Package io.dcloud.bddt (uid=10105, pid=5536) cannot access Device IDs

06-26 21:53:47.098 3521 4104 W TelephonyPermissions: reportAccessDeniedToReadIdentifiers:io.dcloud.bddt:getSubscriberId:isPreinstalled=true:isPrivApp=true

06-26 21:53:47.198 1508 1543 I ActivityTaskManager: Displayed io.dcloud.bddt/io.dcloud.PandoraEntryActivity: +98ms

06-26 21:53:47.368 5536 5549 W io.dcloud.bddt: Reducing the number of considered missed Gc histogram windows from 455 to 100

06-26 21:53:47.409 1508 6469 W DevicePolicyManager: Package io.dcloud.bddt (uid=10105, pid=5536) cannot access Device IDs

06-26 21:53:47.410 3521 4104 W TelephonyPermissions: reportAccessDeniedToReadIdentifiers:io.dcloud.bddt:getImeiForSlot:isPreinstalled=true:isPrivApp=true

06-26 21:53:47.416 1508 3461 W DevicePolicyManager: Package io.dcloud.bddt (uid=10105, pid=5536) cannot access Device IDs

06-26 21:53:47.417 3521 4104 W TelephonyPermissions: reportAccessDeniedToReadIdentifiers:io.dcloud.bddt:getImeiForSlot:isPreinstalled=true:isPrivApp=true

06-26 21:53:47.420 1508 19970 W DevicePolicyManager: Package io.dcloud.bddt (uid=10105, pid=5536) cannot access Device IDs

06-26 21:53:47.420 3521 4104 W TelephonyPermissions: reportAccessDeniedToReadIdentifiers:io.dcloud.bddt:getImeiForSlot:isPreinstalled=true:isPrivApp=true

06-26 21:53:47.422 1508 19970 W DevicePolicyManager: Package io.dcloud.bddt (uid=10105, pid=5536) cannot access Device IDs

06-26 21:53:47.423 3521 4104 W TelephonyPermissions: reportAccessDeniedToReadIdentifiers:io.dcloud.bddt:getDeviceId:isPreinstalled=true:isPrivApp=true

06-26 21:53:47.472 1508 1545 I ActivityManager: Start proc 22882:com.google.android.webview:sandboxed_process0:org.chromium.content.app.SandboxedProcessService0:2/u0i8 for {io.dcloud.bddt/org.chromium.content.app.SandboxedProcessService0:2}

再贴上一些异常log:

06-25 17:06:27.387 1508 1531 W DevicePolicyManager: Package io.dcloud.bddt (uid=10105, pid=5536) cannot access Device IDs

06-25 17:06:27.388 3521 4348 W TelephonyPermissions: reportAccessDeniedToReadIdentifiers:io.dcloud.bddt:getIccSerialNumber:isPreinstalled=true:isPrivApp=true

06-25 17:06:27.391 3521 4348 E DatabaseUtils: Writing exception to parcel

06-25 17:06:27.391 3521 4348 E DatabaseUtils: java.lang.SecurityException: No phone privilege permission

06-25 17:06:27.391 3521 4348 E DatabaseUtils: at com.android.providers.telephony.TelephonyProvider.checkPhonePrivilegePermission(TelephonyProvider.java:3885)

06-25 17:06:27.391 3521 4348 E DatabaseUtils: at com.android.providers.telephony.TelephonyProvider.checkQueryPermission(TelephonyProvider.java:3091)

06-25 17:06:27.391 3521 4348 E DatabaseUtils: at com.android.providers.telephony.TelephonyProvider.query(TelephonyProvider.java:2839)

06-25 17:06:27.391 3521 4348 E DatabaseUtils: at android.content.ContentProvider.query(ContentProvider.java:1214)

06-25 17:06:27.391 3521 4348 E DatabaseUtils: at android.content.ContentProvider.query(ContentProvider.java:1307)

06-25 17:06:27.391 3521 4348 E DatabaseUtils: at android.content.ContentProvider$Transport.query(ContentProvider.java:267)

06-25 17:06:27.391 3521 4348 E DatabaseUtils: at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:104)

06-25 17:06:27.391 3521 4348 E DatabaseUtils: at android.os.Binder.execTransactInternal(Binder.java:1021)

06-25 17:06:27.391 3521 4348 E DatabaseUtils: at android.os.Binder.execTransact(Binder.java:994)

06-25 17:06:27.396 3521 4348 E DatabaseUtils: Writing exception to parcel

06-25 17:06:27.396 3521 4348 E DatabaseUtils: java.lang.SecurityException: No phone privilege permission

06-25 17:06:27.396 3521 4348 E DatabaseUtils: at com.android.providers.telephony.TelephonyProvider.checkPhonePrivilegePermission(TelephonyProvider.java:3885)

06-25 17:06:27.396 3521 4348 E DatabaseUtils: at com.android.providers.telephony.TelephonyProvider.checkQueryPermission(TelephonyProvider.java:3091)

06-25 17:06:27.396 3521 4348 E DatabaseUtils: at com.android.providers.telephony.TelephonyProvider.query(TelephonyProvider.java:2839)

06-25 17:06:27.396 3521 4348 E DatabaseUtils: at android.content.ContentProvider.query(ContentProvider.java:1214)

06-25 17:06:27.396 3521 4348 E DatabaseUtils: at android.content.ContentProvider.query(ContentProvider.java:1307)

06-25 17:06:27.396 3521 4348 E DatabaseUtils: at android.content.ContentProvider$Transport.query(ContentProvider.java:267)

06-25 17:06:27.396 3521 4348 E DatabaseUtils: at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:104)

06-25 17:06:27.396 3521 4348 E DatabaseUtils: at android.os.Binder.execTransactInternal(Binder.java:1021)

06-25 17:06:27.396 3521 4348 E DatabaseUtils: at android.os.Binder.execTransact(Binder.java:994)

06-25 17:06:27.398 1508 11220 W DevicePolicyManager: Package io.dcloud.bddt (uid=10105, pid=5536) cannot access Device IDs

06-25 17:06:27.399 3521 4348 W TelephonyPermissions: reportAccessDeniedToReadIdentifiers:io.dcloud.bddt:getSubscriberId:isPreinstalled=true:isPrivApp=true

系统信息:

发行平台: android apk

操作系统 [Android 10.0]

HBuilderX版本 [2.7.9]

uni-app版本 [2.2.0]

设备信息 [红米7a]

补充信息

根据我的信息和分析,可能是需要在androidManifest.xml增加READ_PHONE_STATE权限或者READ_PRIVILEGED_PHONE_STATE 权限,但是apk的开发商可能不知道怎么去加这个权限。uniapp可能默认会调用TelephonyManager的下面这些接口

getImei()

getDeviceId()

getMeid()

getSimSerialNumber()

getSubscriberId()

BTW:

我又查看了HB的android_base.apk的androidManifest.xml,发现里面的权限特别多。我已经测试了android_base.apk在内置模式下和adb install 的方式下,表现一致,都能运行到“HBuilderX真机运行”的界面。所以我怀疑目标apk可能少了一些权限。

请帮忙诊断!

参考资料

https://developer.android.com/about/versions/10/privacy/changes

https://github.com/dcloudio/uni-app/issues/1842

android不能启动rom服务,基于uniapp开发的apk不能正常在android10上启动运行相关推荐

  1. 基于uni-app开发的一款视频播放器插件

    yy-video-player 基于uni-app开发的一款视频播放器插件,开箱即用,具有视频下载,页面返回,弹幕,进度条等功能. 插件地址:https://ext.dcloud.net.cn/plu ...

  2. 基于Uniapp开发的MIPCMS小程序

    基于Uniapp开发的MIPCMS小程序 介绍 很早就有想法把mipcms官方的小程序改了,结果一直拖到现在.最近有了一点空闲时间,简单改造下mipcms小程序. 软件架构 本软件后台采用mipcms ...

  3. 基于uniapp开发DiscuzQ社区的ios和安卓、小程序H5

    Discuz!Q生成多端小程序和APP. 基于DiscuzQ!3.0版本API,使用UNIAPP框架重构,暂时没有做登录互动和支付相关功能. 基于uniapp开发DiscuzQ社区的ios和安卓.小程 ...

  4. 五星好评!基于uniapp开发的开源项目推荐

    1.得推B2C商城 一套简洁的B2C商城,全部功能完善,用户.下单.注册. 2.来客电商 微信小程序电商平台前后端开源PHP,包含分销,拼团,抽奖,红包,多店,会员制,种草社交,新零售等功能,整个系统 ...

  5. android wear gear2,开发大神实现三星Gear 2上启动Android Wear

    原标题:开发大神实现三星Gear 2上启动Android Wear 安珀网(公众号:ianpocom) 三星希望打造自己的Tizen OS智能手表生态系统.在三星的智能手表中,运行Android We ...

  6. android usb attached,Android USB主机模式服务 – 基于USB_DEVICE_ATTACHED启动

    我想在Android中编写一个基于USB_DEVICE_ATTACHED意图启动的服务.因此,基本上我的服务应该在连接特定USB设备(FT232C – VID:PID 0403:6010)时启动,并在 ...

  7. 如何搭建Rtmp服务结合uni-app开发直播APP

    前言: 由于自己有一个IM类的应用,为了完善它所以决定也加上直播和短视频功能.做直播目前有两种方法,一是直接对接第三方的直播服务产品,二是自己搭服务再开发.所以这里也从这两个方法推荐简单的实现方式,阿 ...

  8. 基于uni-app开发微信小程序__手牵手带你开发【懂你找图】项目

    前戏 某一天的夜里,敲完了代码之后便直接倒在床上睡着了,醒来时只记得梦里的一句话:"想要成为高手,就必须要大量实践,大量做项目,必须要把自己不会的东西全部吃透,不要得过且过.",猛 ...

  9. 网易云信启动“T服务”,为开发加速

    8月1日,网易云信全面启动技术服务体系"T服务",在保证高并发服务下的稳定性之外,将增值服务和技术支持作为自身最大的附加优势进行升级,以让开发者获得更佳的用户体验,为开发加速. 当 ...

最新文章

  1. c# .netframwork 4.0 调用 2.0时报错 混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。...
  2. AS问题解决系列1—Unable to execute DX错误
  3. backbone源码之factory
  4. 60usebean创建实例对象
  5. datables自定义ajax,JQuery DataTables.net自定义列宽度在ajax加载后不起作用
  6. Oracle 11gR2 RAC OCR和votingdisk故障恢复案例
  7. C#基础知识回顾整理
  8. 易改衣完成 5000 万 A 轮融资,唯品会战略投资
  9. 软件产品需求规格说明书模板
  10. 幼儿园数学目标_大班数学领域目标
  11. SharePoint 2013 图文开发系列之列表定义高级篇
  12. 清除Marco1!$A$1提示软件日志.
  13. android系统定制添加分辨率,density设置
  14. 推荐基于4G模块打造的超低功耗4G摄像头通讯板
  15. 干货:怎么样才能提升版式平面设计的大方美观?
  16. chtagpt使用指南
  17. 淘宝插旗备注|物流发货接口
  18. 掘安杯原题复现---Web签到题
  19. 【水文模型】04 参数识别与敏感性分析方法
  20. 为什么保持代码整洁如此重要

热门文章

  1. 计算机专业学习资源合集 | 视频电子书资源
  2. 关于Linux mint更换中文字体后全局楷体修改办法
  3. Flutter开发:给image设置圆角的方法
  4. 计算机中的网络怎么共享的打印机驱动,如何连接其他电脑共享的打印机
  5. 卫星导航之如何画出常见的图形世界地图、多路径、天空图等
  6. Vue Echarts绘制世界地图
  7. 使用Opencv+VS2015做数字图像识别
  8. 嵌入式视频处理基本原理part1
  9. python识别魔方色块_解魔方的机器人攻略23 – 识别颜色(上)
  10. Android6.0运行时权限处理