JNI函数表 - 函数“中的Dalvik源代码实现

我试图找到切入点的Dalvik的interperter循环。

我读过了Android(Froyo的2.1)引导代码到哪里“env-> CallStaticVoidMethod()”调用点。 这意味着,“开始的Dalvik中运行的Java静态无效的方法。” 在我的情况下指定的方法是ZygoteInit的主要方法。

但是,我找不到这种输入法(“CallStaticVoidMethod”)中的代码的任何地方的C / CPP执行 - 只引用和declerations。

同进到所有其他解释入口点 - CallObjectMethod,CallBooleanMethod等...

在该文件的Dalvik的源代码/ VM / Jni.c,有持有指针所有这些功能的全局变量gNativeInterface。 这是初始化,我无法找到(我怀疑这是因为一些宏被用来定义它们)的定义符号。

由于前面所有repliers。

--------------解决方案-------------

CallStaticVoidMethod()通过在Dalvik的宏实现/ VM / Jni.c(头文件映射第一至CallStaticVoidMethod CallStaticVoideMethodV)

2893 /*
2894 * Call a static method.
2895 */
2896 #define CALL_STATIC(_ctype, _jname, _retfail, _retok, _isref) \

2912 static _ctype CallStatic##_jname##MethodV(JNIEnv* env, jclass jclazz, \
2913 jmethodID methodID, va_list args) \
2914 { \
2915 UNUSED_PARAMETER(jclazz); \
2916 JNI_ENTER(); \
2917 JValue result; \
2918 dvmCallMethodV(_self, (Method*)methodID, NULL, true, &result, args);\
2919 if (_isref && !dvmCheckException(_self)) \
2920 result.l = addLocalReference(env, result.l); \
2921 JNI_EXIT(); \
2922 return _retok; \
2923 }

2945 CALL_STATIC(void, Void, , , false);

dvmCallMethodV在davlik / VM /口译/ Stack.c实施

分类:安卓 时间:2012-01-25 人气:0
分享到:

相关文章

  • 打电话到JNI崩溃的Andr​​oid服务重新启动之后? 2013-01-07

    我有一个使用本机库通过NDK / JNI的机器人服务. 本机库是静态加载/初始化建议... static { System.loadLibrary("mylibrary"); if (!nativeClassInit()) throw new RuntimeException("native init failed"); } 一切工作正常,直到该服务被停止(例如,从这里的服务可能会启动一个UI活动/停止). 问题是,当该服务被停止任务尚未被杀害的Andr​​oid,

  • 我可以使用MVVMCross Xamarin之外? 2014-12-13

    我可以用MVVMCross库MVVM平台之外Xamarin对于任何Android原生的项目? 如果没有,有没有原生MVVM Android应用程序框架? --------------解决方案------------- 目前MvvmCross依赖于C# - 所以用它在Android上需要Xamarin.Android. 你可能将它移植到Java或可以试试dot42.com平台编译C#中的Dalvik. 对于纯Java的替代品,你也可以尝试一对夫​​妇图书馆答案来自Android的数据绑定(类似WP

  • 如何将XML布局背景属性值转换为代码? 2012-08-02

    我敢肯定,这是很容易的,但那些难以之一找东西初学者! 下面是我在,我想玩弄我的编程布局的XML文件: <View android:layout_width="fill_parent" android:layout_height="1dp" android:background="?android:attr/listDivider" /> 这里是我多远的代码得到: View ruler = new View(this); ruler.s

  • Excel中VBA 2011不设置Application.StartupPath 2012-09-21

    美国启动路径是:应用程序:Microsoft的Office 2011:办公室:启动:Excel中 但在法​​国,启动为"Demarre"所以这从国家而异. 当我在Excel的国际版本检查Application.StartupPath,它是空白. 纳达. 没有. 这使得它几乎不可能找到使用VBA启动文件夹. 我该如何解决此问题? --------------解决方案------------- 看起来像一个bug. 它在美国版的正常工作. 你可以尝试的AppleScript. 但是,为什么

  • 机器人(JNI / NDK)的OpenGL - FPS显示帮助 2012-08-16

    我有一个Android应用程序,我需要显示当前的FPS. 1 - 应用程序是在OpenGL渲染. public void onDrawFrame(GL10 gl) { synchronized(lock) { NativeCalls.getFrame(); // Setup in JNI/NDK NativeCalls.drawFrame(); // using openGL } } } 2 - 你可以看到,渲染调用从Java做的JNI调用函数. 3 - 我需要在这个OpenGL的表面,以显示当

  • 是否值得翻译的[iPhone] / [机器人]应用成西班牙语? 2012-08-29

    我在做关于这个主题的研究很少. 这是我的博客. 所以,我在找这个的一些经验. 我的故事"用户侧",我认为他们更想它,如果它是在西班牙. 但是,这个程序员? 你让你的程序多语言? 为什么? 为什么不呢? 你确定与支付别人来翻译你的应用程序,或者你更喜欢做自己? 是利比成本更大? 谢谢! --------------解决方案------------- 在iPhone视频:http://www.eng.utah.edu/~cs4962/schedule.html他们谈论这一点,并给出一些建议

  • 应用国际/使用众包翻译经验? 土耳其机器人? 2012-09-30

    我已经开发利用的国际最佳做法,如将在属性文件我的所有可显示的字符串,等等,等等的Web应用程序 我想在翻译成5种不同的语言属性文件中的字符串. 有没有人有使用的Mechanical Turk或语言翻译另一个群众外包服务的经验吗? 我不希望只是聘请翻译公司或服务的原因是因为我想最终都通过一个API送入翻译服务持续的内容. 我的谷歌的结果有关此主题的更多信息,出奇地令人沮丧. 任何链接或指针赞赏. --------------解决方案------------- 如果你的软件是开源的,你可以使用快速启

  • 防止翻译吐温从重置 - 机器人 2013-09-23

    我有一个简单的翻译补间移动的物体了200像素. 当它完成移动,它总是反弹到原来的状态,我不希望出现这种情况. 我希望它留在我把它. 我知道这是应该是一个明显的解决方案,但我不能找到方法/属性在任何地方,使之只停留,而不是重置... --------------解决方案------------- Animation.setFillAfter(真)可能是你所期待的.

  • 如何识别机器人在Dalvik里面的位图对象吗? 2013-11-12

    我想提高在达尔维克存储器管理,第一步是找到存储器内位图对象. 难道有谁知道如何做的Dalvik中的对象分配时确定一个位图对象? 先谢谢你. --------------解决方案------------- 希望这链接将在解决u有问题的过程中有价值的: http://kohlerm.blogspot.de/2009/07/eclipse-memory-analyzer-10-useful.html http://www.vogella.com/articles/EclipseMemoryAnalys

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.438 (s). 10 q(s)