相关疑难解决方法(0)

Android NDK构建 - 包括LOCAL_SHARED_LIBRARIES?

我在Android NDK下构建项目时遇到问题.很可能是由于没有包含正确的共享/静态库.那些作为-lsomeLib我添加了,但是作为LOCAL_SHARED_LIBRARIES的那些没有被包括在内似乎......

我的Android.mk包含以下内容

LOCAL_SHARED_LIBRARIES + = libutils libmedia libz libbinder

  1. ndk-build实际上在哪里寻找这些库?
  2. 如果我不包含-lutils -lmedia -lz -lbinder,我甚至无法得到链接器错误.我有一种感觉,包括-LsomeDir和-lsomeLib不是添加它们的正确方法.

这是完整的Android.mk.

LOCAL_PATH := /Users/kevin/Desktop/player2/videoplayer/videoplayer/jni
LIBPLAYER_PATH := $(LOCAL_PATH)/../../LibPlayer

include $(CLEAR_VARS)

$(warning Android make file: $(LOCAL_PATH)/Android.mk)
$(warning Android sysroot: $(SYSROOT))
$(warning Additional LD_LIBS: $(LOCAL_PATH)/lib)

ifeq ($(BUILD_ID),MID)
        LOCAL_CFLAGS += -DENABLE_FREE_SCALE
endif

LOCAL_MODULE    := libamplayerjni
LOCAL_SRC_FILES := com_farcore_playerservice_AmPlayer.c sys_conf.c
LOCAL_ARM_MODE := arm
LOCAL_C_INCLUDES := $(LIBPLAYER_PATH)/amplayer/player/include \
    $(LIBPLAYER_PATH)/amplayer/control/include \
    $(LIBPLAYER_PATH)/amcodec/include \
    $(LIBPLAYER_PATH)/amffmpeg \
    $(JNI_H_INCLUDE) \
    /Android/ndk/build/tools/android-9-toolchain/sysroot/usr/include \
    /Android/ndk/build/platforms/android-9/arch-arm/usr/include \
    /Android/source_2.3/system/core/include \
    /Android/source_2.3/frameworks/base/include

LOCAL_LDLIBS := -L/Users/kevin/Desktop/player2/videoplayer/videoplayer/jni/lib -L$(SYSROOT)/usr/lib -llog -lz -lm -ldl …
Run Code Online (Sandbox Code Playgroud)

c++ android android-ndk

11
推荐指数
1
解决办法
2万
查看次数

标签 统计

android ×1

android-ndk ×1

c++ ×1