一、库文件的移植
1.1 方法1
Android8.0 将相关的库文件放到vendor 下,编译的时候直接编译到系统。
目录结构如下:
vendor/xxxx/chipsailing/
├── Android.mk
├── csfingerprint.default.so
├── libfp_hal.so
└── libfp_tac.so
Android.mk写法如下:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := csfingerprint.default
LOCAL_SRC_FILES := csfingerprint.default.so
LOCAL_MODULE_SUFFIX := .so
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw
LOCAL_MODULE_TAGS := optional
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := libfp_hal
LOCAL_SRC_FILES := libfp_hal.so
LOCAL_MODULE_SUFFIX := .so
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_TAGS := optional
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := libfp_tac
LOCAL_SRC_FILES := libfp_tac.so
LOCAL_MODULE_SUFFIX := .so
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_TAGS := optional
include $(BUILD_PREBUILT)
实际需要的效果:
- csfingerprint.default.so 编译到 /vendor/lib64/hw
- libfp_hal.so 编译到 /vendor/lib64
- libfp_tac.so 编译到 /vendor/lib64
1.2 方法2
Android8.0 将相关的库文件放到device 下,通过device.mk 编译copy到系统。
目录结构:
device/chipsailing/AndroidO/
├── 32-bit
│ ├── chipsailing.fingerprint.default.so
│ ├── fingerprint.default.so
│ ├── isee
│ ├── libcs_fp_binder.so
│ ├── libfp_hal.so
│ ├── qsee
│ ├── rsee
│ ├── trustkernel
│ ├── trustonic
│ ├── vendor.chipsailing.fingerprint@1.0-service
│ └── vendor.chipsailing.fingerprint@1.0.so
├── 64-bit
│ ├── chipsailing.fingerprint.default.so
│ ├── fingerprint.default.so
│ ├── isee
│ ├── libcs_fp_binder.so