android找不到对应的jni函数
android cannot find corresponding jni function
我已关注 here 并将 .so 文件添加到我的 android 项目中。加载库和项目 运行s。
现在我想使用库的一个函数。我在 MainActivity
:
中这样尝试过
public final static native int crypto_aead_chacha20poly1305_encrypt(byte[] jarg1, int[] jarg2, byte[] jarg3, int jarg4, byte[] jarg5, int jarg6, byte[] jarg7, byte[] jarg8, byte[] jarg9);
Android给我说他找不到对应的JNI函数。
so文件在右侧架构图中的jniLibs中。
他试图在我的包中而不是在 so 库中找到它,这与我的包名有关吗?
当我 运行 我得到:
java.lang.UnsatisfiedLinkError: No implementation found for int be.example.libtest.MainActivity.crypto_aead_chacha20poly1305_encrypt(byte[], int[], byte[], int, byte[], int, byte[], byte[], byte[]) (tried Java_be_example_libtest_MainActivity_crypto_1aead_1chacha20poly1305_1encrypt and Java_be_example_libtest_MainActivity_crypto_1aead_1chacha20poly1305_1encrypt___3B_3I_3BI_3BI_3B_3B_3B)
在项目的 libs 文件夹中创建名称为 "armeabi" 和 "armeabi-v7a" 的文件夹,并将“.so”文件放入这两个文件夹中,然后清理项目和 运行 .
我看到 Robosodium 使用 Swig 生成包装器。在这种情况下,src/main/java/org/abstractj/kalium
中还应该有一些自动生成的 Java 文件也需要添加到您的项目中。所有本机调用都应使用 类.
中提供的方法进行
我已关注 here 并将 .so 文件添加到我的 android 项目中。加载库和项目 运行s。
现在我想使用库的一个函数。我在 MainActivity
:
public final static native int crypto_aead_chacha20poly1305_encrypt(byte[] jarg1, int[] jarg2, byte[] jarg3, int jarg4, byte[] jarg5, int jarg6, byte[] jarg7, byte[] jarg8, byte[] jarg9);
Android给我说他找不到对应的JNI函数。
so文件在右侧架构图中的jniLibs中。
他试图在我的包中而不是在 so 库中找到它,这与我的包名有关吗?
当我 运行 我得到:
java.lang.UnsatisfiedLinkError: No implementation found for int be.example.libtest.MainActivity.crypto_aead_chacha20poly1305_encrypt(byte[], int[], byte[], int, byte[], int, byte[], byte[], byte[]) (tried Java_be_example_libtest_MainActivity_crypto_1aead_1chacha20poly1305_1encrypt and Java_be_example_libtest_MainActivity_crypto_1aead_1chacha20poly1305_1encrypt___3B_3I_3BI_3BI_3B_3B_3B)
在项目的 libs 文件夹中创建名称为 "armeabi" 和 "armeabi-v7a" 的文件夹,并将“.so”文件放入这两个文件夹中,然后清理项目和 运行 .
我看到 Robosodium 使用 Swig 生成包装器。在这种情况下,src/main/java/org/abstractj/kalium
中还应该有一些自动生成的 Java 文件也需要添加到您的项目中。所有本机调用都应使用 类.