4

知る限り、各 Android アプリは独自のユーザー権限でインストールされます。アプリAにネイティブ ライブラリ (つまり/data/data/com.app.A/lib/libA.so)が含まれている場合System.load("/data/data/com.app.A/lib/libA.so")、アプリBから使用できますか?

私が持っているデバイスでは、/data/data/com.app.A/lib/libA.so他のユーザーの読み取り権限が設定されているため、別のアプリから読み込むことができます。しかし、これはすべての Android システムで有効ですか?

4

2 に答える 2

-1

アプリAで定義されたパッケージ名とクラス名に関連する関数シグネチャが異なるため、許可のためにロードできても、libA.so内の関数を実行することはできません

JNIEXPORT jint JNICALL Java_com_android_A_class_method(JNIEnv *d, jobject e, jstring f)
{
//some action

}

したがって、別のアプリ B からロードできたとしても害はありません。

于 2012-10-08T10:25:55.007 に答える