背景
我们有一款自定义的launcher app,用Androidstudio直接run是可以正常运行的,在预编译到system/priv-app目录下时,始终找不到so文件。
1、最简单的方法,将so预置到system/lib64下,仍然提示找不到so
2、在app的目录下手动创建lib连接指向system/lib64中的so,这样so可以找到,但是会有其他一些错误,但是明明在AS中直接run是可以正常运行的
3、对比系统原有预置app的Android.mk文件,发现预置app的mk文件的签名跟我的不一样,
我的app用的签名是
LOCAL_CERTIFICATE := platform
系统系统预置app的签名是
LOCAL_CERTIFICATE := PRESIGNED
但是感觉找不到so这种问题不应该是签名导致的,实在没办法了试了一下,自己手动系统签名后,再预置到系统里,问题竟然解决了……
还请知道缘由的大神不吝赐教
下面附上预置apk的完整mk文件
LOCAL_PATH := $(call my-dir)
#预置so库
include $(CLEAR_VARS)
LOCAL_MODULE := libImSDK
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES_32 := lib/armeabi-v7a/libImSDK.so
LOCAL_SRC_FILES_64 := lib/arm64-v8a/libImSDK.so
LOCAL_MODULE_CLASS :