中级会员
- 积分
- 213
- 金钱
- 213
- 注册时间
- 2019-1-11
- 在线时间
- 59 小时
|
由于新建文件比较繁琐,因此直接在现有的java文件中新增接口,再修改native的code实现对proc下节点写入内容的操作,基于11。1.vim frameworks/base/core/java/android/os/Process.java
+++ public static final native int writeProc(String eventName);
2.添加java与c的映射数组
static const JNINativeMethod methods[];中添加
+++{"writeProc", "(Ljava/lang/String;)I", (void*)android_os_Process_writeProc},
3.实现功能
jint android_os_Process_writeProc(JNIEnv* env, jobject clazz, jstring fileStr)
{
const char* eventName = env->GetStringUTFChars(fileStr, NULL);
int fd = open("/proc/testnode",O_WRONLY);
if(eventName != NULL){
write(fd, eventName, strlen(eventName));
env->ReleaseStringUTFChars(fileStr, eventName);//不释放内存的话,系统启动后会出错
}
close(fd);
return -1;
}
|
|