首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏振兴的Android修炼手册

    从JNI_OnLoad看so的加载

    loader,ldLibraryPath); |--|--|--Runtime_nativeLoad(JNIEnv* env, jclass, jstring javaFilename, jobject javaLoader , jstring javaLdLibraryPath); |--|--|--|--JVM_NativeLoad(env, javaFilename, javaLoader); |--|--|--|-- JNICALL Runtime_nativeLoad(JNIEnv* env, jclass ignored, jstring javaFilename, jobject javaLoader ){ return JVM_NativeLoad(env, javaFilename, javaLoader); } static JNINativeMethod gMethods[] = {

    2.9K20发布于 2020-05-29
  • 来自专栏Android相关

    Java反射原理

    static jclass Class_classForName(JNIEnv* env, jclass, jstring javaName, jboolean initialize, jobject javaLoader DotToDescriptor(name.c_str())); // 从soa.Self中获取JNIEnv所在的线程对象 StackHandleScope<2> hs(soa.Self()); // 获取javaLoader 的指针 Handle<mirror::ClassLoader> class_loader( hs.NewHandle(soa.Decode<mirror::ClassLoader>(javaLoader

    1.4K10发布于 2020-09-10
  • 来自专栏Flutter入门到实战

    JNI源码分析 (并实现JNI动态注册)

    JNICALL Runtime_nativeLoad(JNIEnv *env, jclass ignored, jstring javaFilename, jobject javaLoader javaLibrarySearchPath) { // JVM_NativeLoad 方法 在 OpenjdkJvm.cc 中 return JVM_NativeLoad(env, javaFilename, javaLoader JNIEnv* env, jstring javaFilename, jobject javaLoader env, filename.c_str(), javaLoader

    2K10发布于 2018-09-03
  • 来自专栏along的开发之旅

    Android so 加载原理分析

    java_lang_Runtime.cc] static jstring Runtime_nativeLoad(JNIEnv* env, jclass, jstring javaFilename, jobject javaLoader Current()->GetJavaVM(); //[见小节2.5] bool success = vm->LoadNativeLibrary(env, filename.c_str(), javaLoader java_lang_Runtime.cc] static jstring Runtime_nativeLoad(JNIEnv* env, jclass, jstring javaFilename, jobject javaLoader = Runtime::Current()->GetJavaVM(); bool success = vm->LoadNativeLibrary(env, filename.c_str(), javaLoader

    8.7K31发布于 2020-01-02
  • 来自专栏有价值炮灰

    ART 在 Android 安全攻防中的应用

    JNIEnv* env, jclass, jstring javaName, jboolean initialize, jobject javaLoader ); Handle<mirror::ClassLoader> class_loader( hs.NewHandle(soa.Decode<mirror::ClassLoader>(javaLoader jstring javaName, jobject javaLoader Handle<mirror::ClassLoader> class_loader( hs.NewHandle(soa.Decode<mirror::ClassLoader>(javaLoader

    2K10编辑于 2023-02-12
  • 来自专栏云原生布道专栏

    【Android开发高级系列】Dalvik虚拟机专题

    static jclass DexFile_defineClassNative(JNIEnv* env, jclass,jstring javaName, jobject javaLoader, jobject           StackHandleScope<1> hs(soa.Self());            Handleclass_loader(hs.NewHandle(soa.Decode(javaLoader

    99340编辑于 2023-10-16
领券