我跟着here,我已經將.so文件添加到了我的android項目中。加載庫和項目運行。android無法找到相應的jni功能
現在我想使用庫函數。我試着像這樣在我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中。
這件事與我的包名有關,他試圖在我的包中而不是在庫中找到它?
當我運行此我得到:
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)
我是否需要將文件夾org複製到我的main/java中,或者是否需要在我自己的包中創建文件,然後從他們的文件中複製代碼? – user1007522
事實上,您需要將組織文件夾複製到java下的自己的項目中。 – user1007522