Android 供应商应用程序构建AOSP

Android 供应商应用程序构建AOSP,android,makefile,android-build,android-make,Android,Makefile,Android Build,Android Make,我必须使用供应商配置在AOSP源代码树中构建一个android应用程序。 其中包含一些预构建的.so文件,我使用以下配置加载了.so文件 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional LOCAL_PACKAGE_NAME := MySample LOCAL_CERTIFICATE := platform # SRC files #=====================

我必须使用供应商配置在AOSP源代码树中构建一个android应用程序。 其中包含一些预构建的.so文件,我使用以下配置加载了.so文件

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS  := optional
LOCAL_PACKAGE_NAME := MySample
LOCAL_CERTIFICATE  := platform

 # SRC files
 #======================================
 LOCAL_SRC_FILES := $(call all-java-files-under, src) \
               $(call all-Iaidl-files-under, aidl)
 LOCAL_AIDL_INCLUDES := $(LOCAL_PATH)/aidl                 

 # RES files
 #================================================
 LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
 LOCAL_RESOURCE_DIR +=./prebuilts/sdk/current/support/v7/appcompat/res
 LOCAL_RESOURCE_DIR +=./prebuilts/sdk/current/support/design/res

 LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_APPS)

 LOCAL_MANIFEST_FILE := AndroidManifest.xml
 LOCAL_USE_AAPT2 := true
 LOCAL_PROGUARD_ENABLED := disabled
 LOCAL_MULTILIB := 32

 LOCAL_JNI_SHARED_LIBRARIES := \
 libmysamplelib.so

 #Adding aapt packages
 #==============================================
 LOCAL_AAPT_FLAGS := --auto-add-overlay
 LOCAL_AAPT_FLAGS += --extra-packages android.support.v7.appcompat 
 LOCAL_AAPT_FLAGS += --extra-packages android.support.v7.recyclerview
 LOCAL_AAPT_FLAGS += --extra-packages android.support.annotations
 LOCAL_AAPT_FLAGS += --extra-packages android.support.v4
 LOCAL_AAPT_FLAGS += --extra-packages android.support.design
 LOCAL_AAPT_FLAGS += --extra-packages com.google.gson
 LOCAL_AAPT_FLAGS += --extra-packages com.squareup.picasso
 LOCAL_AAPT_FLAGS += --extra-packages com.google.zxing
 LOCAL_AAPT_FLAGS += --extra-packages com.google.android.exoplayer2
 LOCAL_AAPT_FLAGS += --extra-packages com.google.android.exoplayer2.source.dash
LOCAL_AAPT_FLAGS += --extra-packages com.google.android.exoplayer2.source.hls
LOCAL_AAPT_FLAGS += --extra-packages com.google.android.exoplayer2.source.smoothstreaming

 #Include Static libraries
 #===============================
 LOCAL_STATIC_JAVA_LIBRARIES := android-support-v7-appcompat
 LOCAL_STATIC_JAVA_LIBRARIES += android-support-v7-recyclerview
 LOCAL_STATIC_JAVA_LIBRARIES += android-support-v4
 LOCAL_STATIC_JAVA_LIBRARIES += android-support-v7-gridlayout
 LOCAL_STATIC_JAVA_LIBRARIES += android-support-annotations
 LOCAL_STATIC_JAVA_LIBRARIES += android-support-design
 LOCAL_STATIC_JAVA_LIBRARIES += gson
 include $(BUILD_PACKAGE)

 #Including prebuild libs
 #======================================
include $(CLEAR_VARS)

 LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := exoplayer2_core:libs/exoplayer-core-2.7.1.aar
 LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES += exoplayer2_dash:libs/exoplayer-dash-2.7.1.aar
 LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES += exoplayer2_hls:libs/exoplayer-hls-2.7.1.aar
 LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES += exoplayer2_smoothstreaming:libs/exoplayer-smoothstreaming-2.7.1.aar

 include $(BUILD_MULTI_PREBUILT)

  # parsercreator
  #========================
 include $(CLEAR_VARS)
 LOCAL_MODULE := libmysamplelib
 LOCAL_SRC_FILES := libs/libmysamplelib.so
 LOCAL_MODULE_PATH :=$(TARGET_OUT_VENDOR)/lib
 LOCAL_MODULE_CLASS := SHARED_LIBRARIES
 LOCAL_MODULE_SUFFIX := .so
 LOCAL_32_BIT_ONLY := true
 LOCAL_MODULE_TAGS := optional
 include $(BUILD_PREBUILT)
 include $(call all-makefiles-under,$(LOCAL_PATH))

在目标设备中刷新内部版本后,应用程序将无法正确加载应用程序。我怀疑.so文件没有正确包含。任何帮助都将被视为此问题的解决方案

我已经创建了一个新的
.mk(LibCopy.mk)
文件,用于在ASOP构建时将
文件复制到供应商路径,并且
LibCopy.mk
将从
设备.mk
文件
$(如果存在,调用inherit product,/LibCopy.mk)

我的LibCopy.mk如下所示

PRODUCT_COPY_FILES := \vendor/apps/MySample/lib/<architecture>/libmysamplelib.so:vendor/app/MySample/lib/<architecture>/libmysamplelib.so \
PRODUCT\u COPY\u文件:=\vendor/apps/MySample/lib//libmysamplelib.so:vendor/app/MySample/lib//libmysamplelib.so\