Process 之間的溝通
来源:互联网 发布:淘宝域名注册 编辑:程序博客网 时间:2024/05/17 02:19
1. Purpose
APK A 調用Process P, 並由P啟動 Service S, 並把參數以SystemProperty 的方式傳給 S.
2. Modification
(a) 在 APK A 的 AndroidMenifest.xml 加入 system 的uid.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.fakeclient"
android:versionCode="1"
android:versionName="1.0"
android:sharedUserId="android.uid.system">
這樣啟動 P 後, P同樣具有 system (UID 1000)權限.
(b) 將 啟動Service S 權限設為 system
vi ./device/asus/flo/init.flo.rc
service S /system/bin/S
user system
group system,root,shell
oneshot
這樣 P 才能啟動 S
(c) 在P 的代碼做property_set 動作. property 以 runtime. 開頭, system uid 才可寫入
#include <cutils/properties.h>
int startService(const char* p1, const char* p2){
char value[PROPERTY_VALUE_MAX];
property_set("runtime.param1", p1 );
property_set("runtime.param2", p2 );
return property_set("ctl.start", "S");
}
(d) 在 S 的代碼 get property
#include <cutils/properties.h>
int main(){
char p1[PROPERTY_VALUE_MAX];
property_get("runtime.param1", p1, "");
property_get("runtime.param2", p2, "");
}
- Process 之間的溝通
- Activity之間的Inter-process溝通【zz】
- opnet 学习之 process
- Android基础之Process
- C#之Process
- Process之初步学习
- Android基础之Process
- Android基础之Process
- ActivityManager之Task、Process
- Android之export,process
- 【Java学习】之 Process
- java之Process
- NodeJS之process对象
- Android基础之Process
- Pyhton之process(一)
- Python之Process(二)
- Python之process(三)
- BI笔记之---SSAS库Process的几种方案
- 《网页开发手记》学习笔记之表单
- mybatis实战教程(mybatis in action),mybatis入门到精通
- AFNetworking 2.0
- 联想460A笔记本ubuntu下关闭独立显卡
- "Pure Virtual Function Called" 纯虚函数调用错误分析(翻译)
- Process 之間的溝通
- linux 安装软件
- swift 设置account-quotas container-quotas
- Linux的timerfd分析
- spring 注入 redis.clients.jedis.JedisPool 异常
- 使用Apache的ab工具进行压力测试
- 链表---数组
- 初学RMI被它搞了两天,写个博文记下笔记
- MySQL desc作用