0
私はjavaコードを隠したいと思っています。jniフォルダ内にJavaクラスを作成し、そのクラスメソッドを呼び出そうとしています。しかし、C++でクラスを見つける際にClassNotFound例外が発生しています。これは可能ですか?これは最初のndkプロジェクトです私はこれについて知らない。解決策を教えてください。jniフォルダにJavaクラスを作成する方法は?出来ますか?
これは私のC++コード
#include <jni.h>
#include <string.h>
#include <iostream>
using namespace std;
extern "C" JNIEXPORT jstring JNICALL
Java_com_example_sohamsaa_ndktest_MyNativeClass_startRecord(JNIEnv* env,jobject obj){
jclass cls2 = env->FindClass("jni/MyTest");//here i'm getting classnotfound exception
if(cls2 == NULL) {
cerr << "ERROR: class not found !";
}
else {
cout << "Class MyTest found" << endl;
jmethodID mid = env->GetStaticMethodID(cls2, "mymain", "()V");
if(mid == NULL)
cerr << "ERROR: method void mymain() not found !" << endl;
else {
env->CallStaticVoidMethod(cls2, mid);
cout << endl;
}
}
return (*env).NewStringUTF("Hi siddharthan");
}
これは私のJavaクラス
public class MyTest {
public static void mymain() {
System.out.println("Hello, World in java from mymain");
}
}
*私は自分のJavaコードを隠したい*誰から隠すか?アプリを配備する端末の所有者ですか? –
@Andrew Henleは返信してくれてありがとう。一部のクライアントは自分のプロジェクトに自分のコードを実装したいと思っています。私は関数名だけを与えたいのですが、jarファイルを作成すればコードを見ることができます。 – Siddharthan