我已经signed-google_ion-ota-14721.zip为我的HTC手机下载并编译了带有图像的Android 2.1版本.编译成功完成,因此系统映像闪烁.如何使用系统签名签署我自己的Android应用程序?
有人可以描述使用系统签名签署用户应用程序的整个过程,因为我对签名过程完全不熟悉.
这是我第一次在这里发帖.我不确定这是否是提出这个问题的正确位置,但我似乎没有找到其他更合适的地方.不管怎样,这是我的问题.
我知道API ActivityManager.forceStopPackage()是内部API ,只能从系统进程调用.但是,让我感到困惑的是com.motorola.PerformanceManager,我的motorola atrix手机上的内置任务管理器应用程序(包名称)可以直接调用它而不需要系统进程.我验证了两件事.
首先,它是来自ps命令的非系统进程:
app_64 13681 1379 170788 29820 ffffffff 00000000 S com.motorola.PerformanceManager
Run Code Online (Sandbox Code Playgroud)
其次,它确实ActivityManager.forceStopPackage()从其odex文件调用API(反编译为smali,然后转换为dex,然后转换为java).从smali代码中可以清楚地看到它调用了这个API.
我还检查了它对AndroidManifest.xml我来说没什么特别的文件(论坛错误地将内容识别为URL并阻止我发布它们).
清单文件确实包含android.permission.FORCE_STOP_PACKAGES应该是系统权限的权限.即使有此权限,非系统应用仍会获得权限拒绝错误.我尝试使用反射来获取android.permission.FORCE_STOP_PACKAGES权限,但仍然会收到运行时错误.
现在,内置的任务管理器应用程序如何在不作为系统进程的情况下调用内部API.一种可能性是应用程序使用相同的平台私钥进行签名.但是,我不确定如何验证这一点.此外,它仍然应该是清单文件中具有附加描述的系统进程.
希望有人能回答我的问题.谢谢.
我有一个在 Android N 上运行良好的应用程序。它(通过 root)安装到 /system/priv-app/* 并获得仅适用于特权应用程序的权限。
现在在 Android O 预览版上,该应用程序未获得授予的权限:
08-12 20:30:01.178 687 814 W PackageManager: Privileged permission android.permission.CAPTURE_AUDIO_OUTPUT for package eu.asd.service - not in privapp-permissions whitelist
08-12 20:30:01.178 687 814 W PackageManager: Privileged permission android.permission.UPDATE_APP_OPS_STATS for package eu.asd.service - not in privapp-permissions whitelist
08-12 20:30:01.178 687 814 W PackageManager: Privileged permission android.permission.WRITE_SECURE_SETTINGS for package eu.asd.service - not in privapp-permissions whitelist
Run Code Online (Sandbox Code Playgroud)
任何人都知道这个“privapp-permissions 白名单”的来源,以及如何在有根的 Android 上进入这个列表?