• Android 源码中添加APK到system/priv-app下,无法开机


    第一步:

    adb logcat 取出log

    11-02 10:34:59.306  5568  5568 D AndroidRuntime: Shutting down VM
    11-02 10:34:59.306  5568  5568 E AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: main
    11-02 10:34:59.306  5568  5568 E AndroidRuntime: java.lang.IllegalStateException: Signature|privileged permissions not in privapp-permissions whitelist: {com.xxx.app.activation (/system/priv-app/MyApk): android.permission.CHANGE_COMPONENT_ENABLED_STATE, com.xxx.app.activation (/system/priv-app/MyApk): android.permission.READ_PRIVILEGED_PHONE_STATE, com.xxx.app.activation (/system/priv-app/MyApk): android.permission.PACKAGE_USAGE_STATS}
    11-02 10:34:59.306  5568  5568 E AndroidRuntime:     at com.android.server.pm.permission.PermissionManagerService.systemReady(PermissionManagerService.java:4674)
    11-02 10:34:59.306  5568  5568 E AndroidRuntime:     at com.android.server.pm.permission.PermissionManagerService.access$500(PermissionManagerService.java:182)
    11-02 10:34:59.306  5568  5568 E AndroidRuntime:     at com.android.server.pm.permission.PermissionManagerService$PermissionManagerServiceInternalImpl.systemReady(PermissionManagerService.java:4757)
    11-02 10:34:59.306  5568  5568 E AndroidRuntime:     at com.android.server.pm.PackageManagerService.systemReady(PackageManagerService.java:21707)
    11-02 10:34:59.306  5568  5568 E AndroidRuntime:     at com.android.server.SystemServer.startOtherServices(SystemServer.java:2236)
    11-02 10:34:59.306  5568  5568 E AndroidRuntime:     at com.android.server.SystemServer.run(SystemServer.java:623)
    11-02 10:34:59.306  5568  5568 E AndroidRuntime:     at com.android.server.SystemServer.main(SystemServer.java:429)
    11-02 10:34:59.306  5568  5568 E AndroidRuntime:     at java.lang.reflect.Method.invoke(Native Method)
    11-02 10:34:59.306  5568  5568 E AndroidRuntime:     at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:612)
    11-02 10:34:59.306  5568  5568 E AndroidRuntime:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:975)
    11-02 10:34:59.309  5568  5568 I PowerHalWrapper: <NotifyAppCrash> pack: ,pid: == myPid:5568 
    11-02 10:34:59.310  5568  5568 I DropBoxManagerService: add tag=system_server_crash isTagEnabled=true flags=0x2
    11-02 10:34:59.314  5568  5568 W AES     : Exception Log handling...
    11-02 10:34:59.315  5568  5568 D AES     : ExceptionLog: notify aed, process:system_server pid:5568 cause:system_server_crash 

    从log中可以看出是没有添加权限导致的问题。

    第二步

    添加权限,文件地址:frameworks/base/data/etc/privapp-permissions-platform.xml

    </permissions>
    ..........................
      <privapp-permissions package="com.xxx.app.activation">
            <uses-permission name="android.permission.RECEIVE_BOOT_COMPLETED"/>
            <uses-permission name="android.permission.READ_PHONE_STATE"/>
            <uses-permission name="android.permission.FOREGROUND_SERVICE"/>
            <uses-permission name="android.permission.ACCESS_COARSE_LOCATION" />
            <uses-permission name="android.permission.ACCESS_FINE_LOCATION" />
            <uses-permission name="android.permission.ACCESS_NETWORK_STATE" />
            <uses-permission name="android.permission.ACCESS_WIFI_STATE"/>
            <uses-permission name="android.permission.INTERNET"/>
            <uses-permission name="android.permission.CHANGE_NETWORK_STATE"/>
          <uses-permission name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"/>
           <uses-permission name="android.permission.PACKAGE_USAGE_STATS"/>
    
        </privapp-permissions>
    </permissions>

    这些权限都是这个应用在AndroidManifest.xml中申请的权限。

  • 相关阅读:
    JS 打印实现部分打印
    window.opener和window.open
    js中!和!!的区别及用法
    SQL循环表里的数据
    简明lua教程[转]
    mysql调优技巧-profiles
    MySQL的InnoDB的幻读问题
    linux exec命令
    常用正则搜集整理
    flashget for linux安装问题解决
  • 原文地址:https://www.cnblogs.com/littleboy123/p/13916295.html
Copyright © 2020-2023  润新知