【问题标题】:Set Class fields in jni在 jni 中设置类字段
【发布时间】:2014-02-04 06:56:44
【问题描述】:

这是我的场景,我在 JNI 中创建了一个将在我的 java 代码中调用的方法。基本上该方法是获取证书列表。

该方法包含一个名为 CertInfo 的证书类参数,它具有名为 ckvalue 和 ckaid 的字段(一个字节数组),我需要将 CertInfo 类返回给调用 java 方法。

我的问题是如何将值“12345678”传递给 CertInfo 中的字段 ckvalue?

jclass CertificateInfoClass = env->FindClass("CertInfo");

jbyte certval = env->GetFieldID( clazz, "ckvalue", "Ljava/lang/String;" );

提前致谢!:)

【问题讨论】:

    标签: java android class java-native-interface field


    【解决方案1】:

    我的问题是如何将值“12345678”传递给字段 CertInfo 中的 ckvalue?

    看看函数/方法SetStatic<Type>Field()

    【讨论】:

    • 感谢 fredrik,我试一试,顺便问一下,你知道如何在 jni 代码中调用 java 类构造函数吗?
    • 创建实例时自动完成。
    • hmmmm,在构造函数内部设置我的公共和最终字段的值,我需要使用该类作为本机方法的参数。是否可以在不正确实例化类的情况下通过类?前任。 code CertInfo[] certinfor_array; getcertificatelistobj(certinfor_array); code
    • 你可以从 JNI 访问任何东西,类是一个类,一个实例是类的一个实例。
    • 谢谢你,frederik,一旦我编译了我的工作,我的 jni 源代码仍然无法正常工作,你有没有尝试在过去的项目中使用 cryptoki?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多