Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/136.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
错误:共享_库缺少静态_库Android.mk 我有一个Android应用程序,它也有C++代码依赖性。p>_Android_C++_Android Ndk_Android Source_Android.mk - Fatal编程技术网

错误:共享_库缺少静态_库Android.mk 我有一个Android应用程序,它也有C++代码依赖性。p>

错误:共享_库缺少静态_库Android.mk 我有一个Android应用程序,它也有C++代码依赖性。p>,android,c++,android-ndk,android-source,android.mk,Android,C++,Android Ndk,Android Source,Android.mk,我想通过使用AOSP编译将此应用程序构建为系统应用程序 在我的android.mk中,我必须首先导入一个静态库(abc.a),然后使用它构建一个共享库(xyz.so) 我面临生成错误,错误为“错误:xyz(共享库android-arm64)缺少abc(静态库android-arm64)” Android.mk: LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := abc LOCAL_SRC_FILES := $(L

我想通过使用AOSP编译将此应用程序构建为系统应用程序

在我的android.mk中,我必须首先导入一个静态库(abc.a),然后使用它构建一个共享库(xyz.so)

我面临生成错误,错误为“错误:xyz(共享库android-arm64)缺少abc(静态库android-arm64)”

Android.mk:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := abc
LOCAL_SRC_FILES := $(LOCAL_PATH)/$(TARGET_ARCH_ABI)/abc.a
include $(PREBUILT_STATIC_LIBRARY)

include $(CLEAR_VARS)
#LOCAL_LDFLAGS := -llog -ldl
LOCAL_MODULE    := libxyz
LOCAL_SRC_FILES := \
                xyz.cpp \
                xyz1.cpp        
LOCAL_STATIC_LIBRARIES := abc
LOCAL_CFLAGS += -Wall -Werror -Wno-unused-parameter -Wno-switch
#LOCAL_SDK_VERSION := 19
#LOCAL_NDK_STL_VARIANT := c++_static # LLVM libc++
include $(BUILD_SHARED_LIBRARY)  
Cmakelists:

cmake_minimum_required(VERSION 3.4.1)
add_library( # Sets the name of the library.
             abc
             # Sets the library as a shared library.
             SHARED
             # Provides a relative path to your source file(s).
             src/main/cpp/abc.cpp
             src/main/cpp/abc.hxx
            ......................)

find_library( # Sets the name of the path variable.
              log-lib
              log pthread)

add_library( xyz
             STATIC
             IMPORTED )

 set_target_properties( # Specifies the target library.
                        xyz
                        # Specifies the parameter you want to define.
                        PROPERTIES IMPORTED_LOCATION
                        # Provides the path to the library you want to import.
                        ../../../../${ANDROID_ABI}/xyz.a )

target_link_libraries( # Specifies the target library.
                       abc
                       xyz ${log-lib} )
附加错误屏幕截图


平台构建系统与NDK使用的系统不同。没有
prebuild\u STATIC\u LIBRARY
prebuild\u SHARED\u LIBRARY
这样的规则,因此这些规则不会被执行。平台使用
构建\预构建
,您必须指定
本地\模块\类
。有关示例,请参见

平台中根本不支持CMake

您可能也不想在平台中使用Android.mk。该构建系统(与ndk构建无关)已经过时好几年了。你会想用宋楚瑜所描述的