由于新建文件比较繁琐,因此直接在现有的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;}
编程爱好者
1 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!