Android 源码中预置APK

一、有源码有.so预置apk

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
 
LOCAL_MODULE_TAGS := optional
 
LOCAL_SRC_FILES := $(call all-java-files-under,src)
 
LOCAL_PACKAGE_NAME := APK_NAME
 
LOCAL_STATIC_JAVA_LIBRARIES := android-support-v4
LOCAL_PREBUILT_JNI_LIBS:=\
libs/armeabi/libsafekey.so
 
LOCAL_CERTIFICATE := platform
LOCAL_MULTILIB :=32
 
include $(BUILD_PACKAGE)

备注:1、LOCAL_STATIC_JAVA_LIBRARIES 加载库文件
2、LOCAL_STATIC_JAVA_LIBRARIES 添加.so文件,如果apk中不带.so文件,可不加
3、LOCAL_MULTILIB 只预置32位的.so,(64bit/32bit)

二、预置无源码无.so文件的apk

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
 
# Module name should match apk name to be installed
LOCAL_MODULE := APK_NAME
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
 
//方式一添加so库
LOCAL_PREBUILT_JNI_LIBS:= \
@lib/armeabi/libBDRC4_V1_1.so  \
@lib/armeabi/libfileobserver_jni.so \
@lib/armeabi/libfreetype-jni.so  \
@lib/armeabi/libKSOStatEncryption.so \
@lib/armeabi/libkwopdf.so  \
@lib/armeabi/libOoxmlDecrypt.so \
@lib/armeabi/libweibosdkcore.so
LOCAL_MODULE_CLASS := APPS
LOCAL_MULTILIB := 32
//方式二添加so库
LOCAL_PREBUILT_JNI_LIBS := \
    @lib/arm64-v8a/*.so \
	@lib/armeabi/*.so \
    @lib/armeabi-v7a/*.so \
	@lib/x86/*.so \
	@lib/x86_64/*.so
#LOCAL_MULTILIB :=32
LOCAL_CERTIFICATE := PRESIGNED
include $(BUILD_PREBUILT)

备注:1、LOCAL_PREBUILT_JNI_LIBS:apk中带.so
三、预置无源码无so文件的apk

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := APK_NAME
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := PRESIGNED
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
include $(BUILD_PREBUILT)

四、预置so等资源文件
1、方法一

include $(CLEAR_VARS)
LOCAL_MODULE := wanghai.so
LOCAL_SRC_FILES := wanghai.so
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_PATH := $(TARGET_OUT)/lib/
include $(BUILD_PREBUILT)

2、方法二

include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_PREBUILT_LIBS := sdfapk.so sdffff.so
include $(BUILD_MULTI_PREBUILT)

3、方法三
预置so等资源文件,在Android.mk里 添加 这样一句,注意:这样的方式 如果路径不存在,这条指令 执行 失败,但 不会 报错!

$(shell cp -rf $(LOCAL_PATH)/lib/armeabi-v7a/*.so $(TARGET_OUT)/lib)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值