IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Android预装第三方Apk问题集锦 -> 正文阅读

[移动开发]Android预装第三方Apk问题集锦

无法启动预装app

一、不包含so库的简单apk:
完全可以预装到system/app目录下(也就是系统app),运行时不会有找不到so库的错误;
二、包含so库的apk:
如果按照普通的apk一样预装到system/app目录,则会报错:

java.lang.UnsatisfiedLinkError: Couldn't load libXXX from loader  .........findLibrary returned null;

对于发生这种情况的原因是system app在系统启动加载时不会加载so;

无法加载so导致失败参考log

08-26 21:40:37.880 23046 23046 D cr_LibraryLoader: [LibraryLoader.java:512] Loading with the System linker.
08-26 21:40:37.884 23046 23046 E ContentShellActivity: ContentView initialization failed.
08-26 21:40:37.884 23046 23046 E ContentShellActivity: org.chromium.base.library_loader.ProcessInitException: errorCode=2
08-26 21:40:37.884 23046 23046 E ContentShellActivity: 	at org.chromium.base.library_loader.LibraryLoader.loadMainDexAlreadyLocked(LibraryLoader.java:522)
08-26 21:40:37.884 23046 23046 E ContentShellActivity: 	at org.chromium.base.library_loader.LibraryLoader.ensureMainDexInitialized(LibraryLoader.java:302)
08-26 21:40:37.884 23046 23046 E ContentShellActivity: 	at org.chromium.base.library_loader.LibraryLoader.ensureInitialized(LibraryLoader.java:286)
08-26 21:40:37.884 23046 23046 E ContentShellActivity: 	at com.access_company.nfbe.content_shell_apk.ContentShellActivity.onCreate(ContentShellActivity.java:363)
08-26 21:40:37.884 23046 23046 E ContentShellActivity: 	at android.app.Activity.performCreate(Activity.java:7807)
08-26 21:40:37.884 23046 23046 E ContentShellActivity: 	at android.app.Activity.performCreate(Activity.java:7796)
08-26 21:40:37.884 23046 23046 E ContentShellActivity: 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1306)
08-26 21:40:37.884 23046 23046 E ContentShellActivity: 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245)
08-26 21:40:37.884 23046 23046 E ContentShellActivity: 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)
08-26 21:40:37.884 23046 23046 E ContentShellActivity: 	at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
08-26 21:40:37.884 23046 23046 E ContentShellActivity: 	at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
08-26 21:40:37.884 23046 23046 E ContentShellActivity: 	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
08-26 21:40:37.884 23046 23046 E ContentShellActivity: 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
08-26 21:40:37.884 23046 23046 E ContentShellActivity: 	at android.os.Handler.dispatchMessage(Handler.java:107)
08-26 21:40:37.884 23046 23046 E ContentShellActivity: 	at android.os.Looper.loop(Looper.java:214)
08-26 21:40:37.884 23046 23046 E ContentShellActivity: 	at android.app.ActivityThread.main(ActivityThread.java:7356)
08-26 21:40:37.884 23046 23046 E ContentShellActivity: 	at java.lang.reflect.Method.invoke(Native Method)
08-26 21:40:37.884 23046 23046 E ContentShellActivity: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
08-26 21:40:37.884 23046 23046 E ContentShellActivity: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)
08-26 21:40:37.884 23046 23046 E ContentShellActivity: Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: library "/system/app/NFBE/NFBE.apk!/lib/armeabi-v7a/libcontent_shell_content_view.so" not found
08-26 21:40:37.884 23046 23046 E ContentShellActivity: 	at java.lang.Runtime.loadLibrary0(Runtime.java:1071)
08-26 21:40:37.884 23046 23046 E ContentShellActivity: 	at java.lang.Runtime.loadLibrary0(Runtime.java:1007)
08-26 21:40:37.884 23046 23046 E ContentShellActivity: 	at java.lang.System.loadLibrary(System.java:1667)
08-26 21:40:37.884 23046 23046 E ContentShellActivity: 	at org.chromium.base.library_loader.LibraryLoader.loadWithSystemLinkerAlreadyLocked(LibraryLoader.java:476)
08-26 21:40:37.884 23046 23046 E ContentShellActivity: 	at org.chromium.base.library_loader.LibraryLoader.loadMainDexAlreadyLocked(LibraryLoader.java:513)
08-26 21:40:37.884 23046 23046 E ContentShellActivity: 	... 18 more
08-26 21:40:37.886 23046 23046 I ntent_shell_ap: System.exit called, status: -1

同时一般预置的第三方App都会把这个宏开关置为false,这样既可以避免提取odex出现异常导致App功能异常,也能节省一定空间消耗。编译生成的文件没有oat文件,也就意味着没有被提前优化。

mk文件中添加LOCAL_DEX_PREOPT := false把预编译关闭。
LOCAL_DEX_PREOPT := false // 不进行预先优化 
LOCAL_DEX_PREOPT := true // 进行预先优化 
  1. 由于权限问题导致无法开机
    参考log
08-27 13:52:41.859  7468  7468 E System  : ******************************************
08-27 13:52:41.860  7468  7468 E System  : ************ Failure starting system services
08-27 13:52:41.860  7468  7468 E System  : java.lang.IllegalStateException: Signature|privileged permissions not iALL_PACKAGES}
08-27 13:52:41.860  7468  7468 E System  : 	at com.android.server.pm.permission.PermissionManagerService.syste
08-27 13:52:41.860  7468  7468 E System  : 	at com.android.server.pm.permission.PermissionManagerService.acces
08-27 13:52:41.860  7468  7468 E System  : 	at com.android.server.pm.permission.PermissionManagerService$Permi
08-27 13:52:41.860  7468  7468 E System  : 	at com.android.server.pm.PackageManagerService.systemReady(Package
08-27 13:52:41.860  7468  7468 E System  : 	at com.android.server.SystemServer.startOtherServices(SystemServer
08-27 13:52:41.860  7468  7468 E System  : 	at com.android.server.SystemServer.run(SystemServer.java:537)
08-27 13:52:41.860  7468  7468 E System  : 	at com.android.server.SystemServer.main(SystemServer.java:365)
08-27 13:52:41.860  7468  7468 E System  : 	at java.lang.reflect.Method.invoke(Native Method)
08-27 13:52:41.860  7468  7468 E System  : 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(Run
08-27 13:52:41.860  7468  7468 E System  : 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1045)
08-27 13:52:41.860  7468  7468 D SystemServerTiming: MakePackageManagerServiceReady took to complete: 2118ms
08-27 13:52:41.861  7468  7468 E Zygote  : System zygote died with exception
08-27 13:52:41.861  7468  7468 E Zygote  : java.lang.IllegalStateException: Signature|privileged permissions not iALL_PACKAGES}
08-27 13:52:41.861  7468  7468 E Zygote  : 	at com.android.server.pm.permission.PermissionManagerService.syste
08-27 13:52:41.861  7468  7468 E Zygote  : 	at com.android.server.pm.permission.PermissionManagerService.acces
08-27 13:52:41.861  7468  7468 E Zygote  : 	at com.android.server.pm.permission.PermissionManagerService$Permi
08-27 13:52:41.861  7468  7468 E Zygote  : 	at com.android.server.pm.PackageManagerService.systemReady(Package
08-27 13:52:41.861  7468  7468 E Zygote  : 	at com.android.server.SystemServer.startOtherServices(SystemServer
08-27 13:52:41.861  7468  7468 E Zygote  : 	at com.android.server.SystemServer.run(SystemServer.java:537)
08-27 13:52:41.861  7468  7468 E Zygote  : 	at com.android.server.SystemServer.main(SystemServer.java:365)
08-27 13:52:41.861  7468  7468 E Zygote  : 	at java.lang.reflect.Method.invoke(Native Method)
08-27 13:52:41.861  7468  7468 E Zygote  : 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(Run
08-27 13:52:41.861  7468  7468 E Zygote  : 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1045)
08-27 13:52:41.861  7468  7468 D AndroidRuntime: Shutting down VM
08-27 13:52:41.862  7468  7468 E AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: main
08-27 13:52:41.862  7468  7468 E AndroidRuntime: java.lang.IllegalStateException: Signature|privileged permissionsn.INSTALL_PACKAGES}
08-27 13:52:41.862  7468  7468 E AndroidRuntime: 	at com.android.server.pm.permission.PermissionManagerServi
08-27 13:52:41.862  7468  7468 E AndroidRuntime: 	at com.android.server.pm.permission.PermissionManagerServi
08-27 13:52:41.862  7468  7468 E AndroidRuntime: 	at com.android.server.pm.permission.PermissionManagerServi
08-27 13:52:41.862  7468  7468 E AndroidRuntime: 	at com.android.server.pm.PackageManagerService.systemReady
08-27 13:52:41.862  7468  7468 E AndroidRuntime: 	at com.android.server.SystemServer.startOtherServices(Syst
08-27 13:52:41.862  7468  7468 E AndroidRuntime: 	at com.android.server.SystemServer.run(SystemServer.java:5
08-27 13:52:41.862  7468  7468 E AndroidRuntime: 	at com.android.server.SystemServer.main(SystemServer.java:
08-27 13:52:41.862  7468  7468 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
08-27 13:52:41.862  7468  7468 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller
08-27 13:52:41.862  7468  7468 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java
08-27 13:52:41.865  7468  7468 I DropBoxManagerService: add tag=system_server_crash isTagEnabled=true flags=0x2
08-27 13:52:41.869  7468  7468 I Process : Sending signal. PID: 7468 SIG: 9

如上log所示为未在白名单里,按照文件格式增入白名单即可。
android/frameworks/base/data/etc/privapp-permissions-platform.xml

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-08-28 09:27:50  更:2021-08-28 09:27:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 13:42:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码