签名问题
在一个项目中使用的apk以android.mk的方式编译到系统,是需要签名,如果想要安装 到目标机器上,需要在目标机器系统的sdk中重新签名,即重新编译,再安装.apk即可
这里按上面的做法后,可以在目标机器的安装 打开
Android.mk采用的模块如下
# LOCAL_PATH:= $(call my-dir)
# include $(CLEAR_VARS)
# LOCAL_MODULE := KehwinBLE
# LOCAL_MODULE_TAGS := optional
# LOCAL_PRIVILEGED_MODULE := true
# LOCAL_SRC_FILES := ./KehwinBLE.apk
# LOCAL_MODULE_CLASS := APPS
# LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
# LOCAL_CERTIFICATE := platform
# include $(BUILD_PREBUILT)
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := AutoUpdate
LOCAL_SRC_FILES := AutoUpdate.apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := .apk
LOCAL_BUILT_MODULE_STEM := package.apk
LOCAL_CERTIFICATE := platform
include $(BUILD_PREBUILT)
android 9
LOCAL_PATH := $(my-dir)
APK_NAME_FULL :=$(shell cd $(LOCAL_PATH); ls -A | grep apk)
APK_NAME :=$(shell echo $(APK_NAME_FULL) | sed 's/.apk//g')
$(warning --------------FullName=$(APK_NAME_FULL)----Name=$(APK_NAME))
define get-all-libraries-module-name-in-subdirs
$(sort $(shell cd $(LOCAL_PATH) ; rm -rf lib >/dev/null ; unzip $(APK_NAME_FULL) 'lib/*.so' -d . >/dev/null ; find -L $(1) -name "*.so"))
endef
ALL_LIBRARIES_MODULE_NAME := $(call get-all-libraries-module-name-in-subdirs, lib/armeabi-v7a)
$(warning --------------ALL_LIBRARIES_MODULE_NAME: $(ALL_LIBRARIES_MODULE_NAME) )
include $(CLEAR_VARS)
LOCAL_MODULE := BQB_V1.1.0.31_realtek
LOCAL_MODULE_CLASS := APPS
LOCAL_BUILT_MODULE_STEM := package.apk
LOCAL_CERTIFICATE := platform
LOCAL_PRIVILEGED_MODULE := true
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_MULTILIB := 32
LOCAL_PREBUILT_JNI_LIBS := $(ALL_LIBRARIES_MODULE_NAME)
include $(BUILD_PREBUILT)