У меня такое чувство, что вы скомпилировали aes с помощью собственных инструментов (x86) и использовали его в качестве библиотеки предварительной сборки.Я пробовал это Android.mk
, и оно работает:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := aes
LOCAL_SRC_FILES := aes/aescrypt.c aes/aeskey.c aes/aestab.c aes/aes_modes.c
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_C_INCLUDES := jni/aes
LOCAL_STATIC_LIBRARIES := aes
LOCAL_MODULE := hello-jni
LOCAL_SRC_FILES := hello-jni.c
include $(BUILD_SHARED_LIBRARY)
Просто распакуйте aes-src-16-04-07.zip
в jni/aes
.Я думаю, что лучше использовать систему сборки ndk, потому что она может установить все необходимые параметры.
И hello-jni.c (на всякий случай):
#include <aes.h>
void test() {
aes_init();
}