小编Hus*_*ani的帖子

如何通过 JNI 创建 HashMap<String, String> 然后解析为 java

嗨,我想通过 Ndk 保护我的 web url 和应用程序密钥,我想hashmap在应用程序中创建并静态存储密钥值,然后解析为 Java,我遵循Stackoverflow 的回答,如Create HashMapJNI 将对象从 C++ 传递到 Java某些方法已弃用从上面的链接并没有找到任何方法来做到这一点,我创建了HashMap但它给了我错误

#include <jni.h>
extern "C"
JNIEXPORT jobject
Java_com_company_project_home_ui_MainActivity_getUrlMap(
        JNIEnv *env,
        jobject /* this */) {
    jclass mapClass = env->FindClass("java/util/HashMap");
    if(mapClass == NULL)
    {
        return NULL;
    }
    jsize map_len = 1;
    jmethodID init = env->GetMethodID(mapClass, "<init>", "(I)V");
    jobject hashMap = env->NewObject(mapClass, init, map_len);
    jmethodID put = env->GetMethodID(mapClass, "put", "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;");
    char *key = (char*)"URL_TEST_API"  ;
    char *val = (char*)"home.php";
    env->CallObjectMethod(hashMap, …
Run Code Online (Sandbox Code Playgroud)

java java-native-interface android hashmap android-ndk

4
推荐指数
1
解决办法
2060
查看次数