MTK Android.mk 预置应用out下生成,但桌面不加载显示

本文详细解释了如何在Android.mk文件中配置预置第三方APK,包括模块命名、路径、签名、依赖库的处理以及预编译APK的安装。重点讲解了如何导引外部lib文件并替换已安装的APK。
摘要由CSDN通过智能技术生成

预置第三方APK:

prebuilts

xxx.apk

android.mk

lib文件

# android.mk具体配置如下:
include $(CLEAR_VARS)   //必须先定义LOCAL_PATH 变量,此变量表示源文件的位置。编译系统提供的宏函数 my-dir 将返回当前目录(Android.mk 文件本身所在的目录)的路径。
LOCAL_MODULE                    := Sample  //变量存储要编译的模块的名称。每个模块中使用一次此变量,每个模块名称必须唯一,且不含任何空格
LOCAL_MODULE_TAGS               := optional  //user eng tests optional ;   user: 指该模块只在user版本下才编译    eng: 指该模块只在eng版本下才编译      tests: 指该模块只在tests版本下才编译    optional:指该模块在所有版本下都编译
LOCAL_MODULE_CLASS              := APPS
LOCAL_MODULE_SUFFIX             := $(COMMON_ANDROID_PACKAGE_SUFFIX)   //module的后缀
LOCAL_MODULE_PATH               := $(TARGET_OUT_VENDOR)/operator/app  //apk 安装路径
LOCAL_SRC_FILES                 := $(LOCAL_MODULE).apk   //变量必须包含要编译到模块中的 C 和/或 C++ 源文件列表

LOCAL_CERTIFICATE               := PRESIGNED //PRESIGNED 表示apk签名使用原来签名 platform 表示使用系统签名  无特殊情况一般使用PRESIGNED 
LOCAL_PRIVILEGED_MODULE         := true   //决定了其编译后的在ROM中的安装位置: 如果不设置或者设置为false,安装位置为system/app; 如果设置为true,安装位置为system/priv-app。 
LOCAL_PROPRIETARY_MODULE        := true
LOCAL_MULTILIB                  := both  //变量配置32位、64位构建(会覆盖全局的TARGET_PREFER_32_BIT)。其值可选择:

=========以下这些是最重要配置:导引外面的lib文件,这些lib文件需反编译apk拿取到

//"both": build both 32-bit and 64-bit.
//"32": build only 32-bit.
//"64": build only 64-bit.
LOCAL_PREBUILT_JNI_LIBS_arm     := $(subst $(LOCAL_PATH)/,,$(wildcard $(LOCAL_PATH)/lib/armeabi/*.so))  
LOCAL_PREBUILT_JNI_LIBS_arm64   := $(subst $(LOCAL_PATH)/,,$(wildcard $(LOCAL_PATH)/lib/arm64-v8a/*.so))

LOCAL_REPLACE_PREBUILT_APK_INSTALLED := $(LOCAL_PATH)/$(LOCAL_MODULE).apk

include $(BUILD_PREBUILT)

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值