如何在Android源码里查找Java中native方法对应的C++实现
2012-02-19 12:16
1056 查看
在Android源码里,有许多方法都是使用Jni机制调用底层的C++实现,比如大家都很熟悉的Binder.java里,就有
public static final native int getCallingPid();
public static final native int getCallingUid();
public static final native long clearCallingIdentity();
等方法都是直接调用C++里的实现。
通过下面命令可以很快找到对应的实现,
. build/envsetup
cgrep ./frameworks '"getCallingPid"'
这时会查找到如下结果:
./frameworks/base/core/jni/android_util_Binder.cpp:745: { "getCallingPid", "()I", (void*)android_os_Binder_getCallingPid },
这样就可以知道对应的C++实现方法名字为android_os_Binder_getCallingPid, 在该文件中找这个方法的实现即可。
public static final native int getCallingPid();
public static final native int getCallingUid();
public static final native long clearCallingIdentity();
等方法都是直接调用C++里的实现。
通过下面命令可以很快找到对应的实现,
. build/envsetup
cgrep ./frameworks '"getCallingPid"'
这时会查找到如下结果:
./frameworks/base/core/jni/android_util_Binder.cpp:745: { "getCallingPid", "()I", (void*)android_os_Binder_getCallingPid },
这样就可以知道对应的C++实现方法名字为android_os_Binder_getCallingPid, 在该文件中找这个方法的实现即可。
相关文章推荐
- 在Android源码中查找Java代码中native函数对应的C++实现
- 如何查看Java native 方法的实现
- HAL/JNI简明笔记(三)——java如何识别native方法的实现
- (八)React Native实现调用android原生java方法并实现广播的发送和接受
- Android JNI中Java与C++对象如何建立一一对应的关系
- Android Studio Jni开发(二)实现Native调用java方法和Native调用Android API
- 如何找到java对应的c/c++源码
- 如何找到java对应的c/c++源码
- 如何查看java源码中的native方法源码
- android用java和c实现查找sd卡挂载路径(sd卡路径)的方法
- android apk反编译到java源码的实现方法
- React-native Android Java Module如何暴露自己的方法给js
- 如何查找android项目对应模块的手机源码位置
- 如何查看java源码中的native方法源码
- 如何查找native方法所对应的底层文件
- android中C程序如何调用JAVA方法
- Java+Selenium3框架设计篇4-如何实现登录功能放在setUp()方法中
- 如何使用eclipse查看android源码,.java而不是.class
- Android下拉刷新完全解析,教你如何一分钟实现下拉刷新功能(附源码)
- 如何C#中实现在TreeView查找某一节点(两种方法)