如何将第三方的APK 加入到我们自己的 img 里面呢?
如果只有apk :
一:在/vendor/....../generic/apps/ 目录下创建新的目录如:test/
二:将apk 文件(如:AAA.apk)直接copy 到/vendor/....../generic/apps/test/ 目录中
三:在test 目录中创建Android.mk 文件,即此文件和AAA.apk 在同一目录下
四:编写Android.mk 脚本:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_POST_PROCESS_COMMAND := $(shell cp -r $(LOCAL_PATH)/AAA.apk$(TARGET_OUT)/app/)
如果有多个apk需要添加,直接复制LOCAL_POST_PROCESS_COMMAND............ 这一句,然后将AAA.apk 改为相应的名字即可。
保存脚本,编译sdk ,系统会自动将apk 文件copy 到/out/target/....../system/app 中,并将apk添加到system.img 中
TARGET_ROOT_OUT: 表示根文件系统 out/target/product/root/
TARGET_OUT: 表示system文件系统 out/target/product/system/
TARGET_OUT_DATA: 表示data文件系统 out/target/product/data/
如果只有源码,没有apk
一:将源码文件夹(test)copy 到/vendor/....../generic/apps/ 目录下创建新的目录下
二:在源码文件夹test 目录中创建Android.mk 文件
三:编写Android.mk 脚本:
。。。。。。。
保存脚本,编译sdk ,系统会自动编译源码生成对应的apk 文件,并且将其放到/out/target/....../system/app 中,最终将apk添加到system.img 中
编译一个简单的APK
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# Build all java files in the java subdirectory
LOCAL_SRC_FILES := $(call all-subdir-java-files)
# Name of the APK to build
LOCAL_PACKAGE_NAME := LocalPackage
# Tell it to build an APK
include $(BUILD_PACKAGE)
编译一个依赖静态.jar文件的APK
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# List of static libraries to include in the package
LOCAL_STATIC_JAVA_LIBRARIES := static-library
# Build all java files in the java subdirectory
LOCAL_SRC_FILES := $(call all-subdir-java-files)
# Name of the APK to build
LOCAL_PACKAGE_NAME := LocalPackage
# Tell it to build an APK
include $(BUILD_PACKAGE)
编译一个需要platform key签名的APK
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# Build all java files in the java subdirectory
LOCAL_SRC_FILES := $(call all-subdir-java-files)
# Name of the APK to build
LOCAL_PACKAGE_NAME := LocalPackage
LOCAL_CERTIFICATE := platform
# Tell it to build an APK
include $(BUILD_PACKAGE)
编译一个需要特殊vendor key签名的APK
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# Build all java files in the java subdirectory
LOCAL_SRC_FILES := $(call all-subdir-java-files)
# Name of the APK to build
LOCAL_PACKAGE_NAME := LocalPackage
LOCAL_CERTIFICATE := vendor/example/certs/app
# Tell it to build an APK
include $(BUILD_PACKAGE)
添加一个第三方APK
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# Module name should match apk name to be installed.
LOCAL_MODULE := LocalModuleName
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := platform
include $(BUILD_PREBUILT)
第三方APK针对需要.so的apk的示例如下:
LOCAL_PATH := $(my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := baiduinput_android_v1.1_1000e
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := platform
include $(BUILD_PREBUILT)
#################################################################
####### copy the library to /system/lib #########################
#################################################################
include $(CLEAR_VARS)
LOCAL_MODULE := libinputcore.so
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)
LOCAL_SRC_FILES := lib/$(LOCAL_MODULE)
OVERRIDE_BUILD_MODULE_PATH := $(TARGET_OUT_INTERMEDIATE_LIBRARIES)
include $(BUILD_PREBUILT)
添加静态java库
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# Build all java files in the java subdirectory
LOCAL_SRC_FILES := $(call all-subdir-java-files)
# Any libraries that this library depends on
LOCAL_JAVA_LIBRARIES := android.test.runner
# The name of the jar file to create
LOCAL_MODULE := sample
# Build a static jar file.
include $(BUILD_STATIC_JAVA_LIBRARY)
相关推荐
3.Android.mk或Android.bp中引用Android的第三方(jar、aar、so)、Androidx的类库等的使用方法 4.Android.mk或Android.bp编译生成Apk、静态库、动态库、可执行文件等的使用方法 5.Android系统定制有源码App或无源码...
将android.mk转换为android.bp
`android.mk`文件是Android原生构建系统(NDK)中用于定义模块构建规则的脚本,主要用于C/C++原生库的编译。本篇文章将深入探讨`android.mk`文件的生成及其作用。 **1. android.mk文件简介** `android.mk`文件是...
本篇文章将详细介绍如何进行`androidmk`到`Android.bp`的转换,并探讨两者之间的差异以及转换工具的使用方法。 一、`Android.mk`与`Android.bp`概述 1. `Android.mk`:这是Android早期使用的构建系统,基于GNU ...
"Android NDK开发指南-android.mk文件" Android NDK 是 Android 操作系统中的一种开发工具,用于使用 C/C++ 语言编写 Android 应用程序。Android.mk 文件是 NDK 中的一个重要组件,用于描述编译系统的配置,使得...
不会写Android.mk与Android.bp,或者常有编译问题的可以下载参考,解决无法使能ASAN的问题。不会用的一定要展开下面链接看使用方法,以及编译问题示例,别啥也不懂就开始抱怨。 使用方法参考: ...
Android.mk文件是Android系统构建过程中不可或缺的一部分,它用于定义模块(module)的编译规则,包括源文件、依赖项、编译选项等。本篇文章将深入探讨Android.mk文件的语法规范,帮助开发者理解和掌握Android系统...
**Android.mk 深度解析** Android.mk 是Android构建系统中的关键文件,它定义了如何编译和构建Android项目的特定部分,如APK程序、Java库、C/C++应用程序、静态库和动态库。这份文档将详细介绍Android.mk的各个方面...
android studio 配置gradle 使用android.mk进行编译jni,简单的jni调用,使用android.mk进行编译,注意事项:app下的gradle,以及编译生成的 .h文件,复制修改为 .cpp时,里面的文件的宏逻辑,最好去掉这个宏(#...
Android.mk用法介绍 Android.mk文件是Android系统中的编译配置脚本,类似于Linux中的Makefile。它用于描述源代码结构,并告诉编译系统如何编译和生成目标文件。 Android.mk文件是GNU Makefile的一部分,将被编译...
### Android.mk文档规范详解 #### 一、概述 Android.mk 文件是 Android NDK 的核心组成部分之一,用于描述 C 或 C++ 源代码文件的编译规则。通过深入理解 Android.mk 文档规范,开发者能够更好地掌握 Android 编译...
其中,`Android.mk`文件是Android构建系统的核心部分,它是一个Makefile,用于指导NDK(Native Development Kit)如何处理C/C++代码。本文将深入探讨`Android.mk`文件的写法和关键知识点。 1. **LOCAL_PATH变量的...
android 拷贝文件的mk脚本,bin,lib
在Android平台上,构建Cocos2d-x项目时,开发者需要配置`Android.mk`文件,这是一个Makefile,用于指示Android NDK如何编译和链接C++源代码。然而,手动编辑`Android.mk`文件可能既耗时又容易出错。为了简化这一过程...
### Android.mk 文件详解 #### 一、概述 `Android.mk` 是 Android NDK(Native Development Kit)中的核心配置文件之一,用于定义如何编译 C/C++ 源代码以生成可执行文件、共享库或静态库。对于那些希望在 Android...
### Android.mk 编译系统与文件语法规范 #### 引言 `Android.mk`作为Android NDK中的核心配置文件之一,主要用于向构建系统描述项目的C/C++源代码组织方式及构建逻辑。对于深入理解Android NDK项目构建流程、优化...
在你提供的文件列表中,我们看到三个相关的`Android.mk`文件:`Android_configure.mk`、`Android.mk`以及`Android_.mk`。这些文件是构建过程的关键部分,用于指定编译选项、依赖关系和目标。 `Android.mk`是Android...
`Android.mk`文件是Android构建系统的关键部分,用于定义模块属性和编译规则。在本场景中,我们将讨论如何使用`Android.mk`来编译内置一个无源码的APK,即`wukong.apk`,并将其预置到Android系统的`packages/apps/...
3. **Android.mk文件**:`Android.mk`是Android Makefile系统的文件,用于描述如何编译和链接本地C/C++代码。在FFmpeg移植过程中,我们需要创建一个自定义的`Android.mk`文件,声明FFmpeg源代码的位置、依赖库、编译...
### Android.mk 文件语法规范及使用模板详解 #### 一、引言 在深入探讨`Android.mk`文件的具体语法规范和使用模板之前,我们先来简要回顾一下`Android.mk`文件的基本概念及其在Android NDK中的作用。`Android.mk`...