0

您好,我是 NDK 和使用 Android 应用程序进行 C/C++ 开发的新手。我的 android 应用程序在用 c/c++ 编译 android 应用程序时遇到问题。我为我的 sqlite 添加了一些自定义库。谁能解释我的项目发生了什么,我需要用我的 MK 文件配置什么吗?我将此添加到我的 mk 文件APP_ABI := armeabi armeabi-v7a

这是我的 Android.mk 文件

APP_PLATFORM := android-8

#WHAT DO I NEED..
APP_ABI := armeabi armeabi-v7a
#TARGET_ARCH     = arm
#TARGET_ARCH_ABI = armeabi-v7a

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := ExtFunc
LOCAL_SRC_FILES := extension-functions.c
LOCAL_SRC_FILES += sqlite3.c
LOCAL_SHARE_LIBRARIES := sqlite3

include $(BUILD_SHARED_LIBRARY)


include $(CLEAR_VARS)

LOCAL_MODULE    := ProximityAPI
LOCAL_SRC_FILES := ProximitySearch.c
LOCAL_SRC_FILES += sqlite3.c
LOCAL_SHARE_LIBRARIES := sqlite3

include $(BUILD_SHARED_LIBRARY)

这是我的图书馆结构

当我开始运行我的项目时,armeabi-v7a 库会在编译中自动删除。

我用的是NDK R10b

为了清楚起见,这两个库在不同的项目中工作,但是当我将它们组合起来时,它在编译我的 android 应用程序时删除了 armeabi-v7a 下的 HERE-Map 库。

希望有人可以帮助我我很困惑..

谢谢!

4

1 回答 1

0

APP_ABI 应该进入 jni 文件夹中的 Application.mk 文件。默认情况下它可能不存在,因此您可能必须创建一个。此外,如果您只为 ARM 构建,则无需明确指定。如果您希望以 x86 等多种架构为目标,您可以将其添加到您的 APP_ABI 参数中。

于 2014-12-10T20:02:06.923 回答