0
我想應用程序簽名在本地使用這些代碼:(source)獲取JNI應用程序簽名中的散列碼
// For class Context
jclass native_clazz = (*env)->GetObjectClass(env, context);
// Get the getPackageManager method ID
jmethodID methodID_func = (*env)->GetMethodID(env, native_clazz,
"getPackageManager", "()Landroid/content/pm/PackageManager;");
// Access manager application package
jobject package_manager = (*env)->CallObjectMethod(env, thiz, methodID_func);
// For class PackageManager
jclass pm_clazz = (*env)->GetObjectClass(env, package_manager);
// Get the getPackageInfo method ID
jmethodID methodID_pm = (*env)->GetMethodID(env, pm_clazz,
"getPackageInfo", "(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;");
// To obtain the application package information
jobject package_info = (*env)->CallObjectMethod(env, package_manager,
methodID_pm, (*env)->NewStringUTF(env, "com.example.hellojni"), 64);
,但我得到這個:
error: 'context' undeclared (first use in this function)
如何獲得上下文本土? 我如何返回簽名hashcode作爲字符串?
_ 「我如何在本地獲取上下文?」_您需要將Java代碼傳遞給您的C代碼(即「Activity」或「Application」實例)。 – Michael