一、编译一个简单的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)
注:LOCAL_STATIC_JAVA_LIBRARIES后面应是你的APK程序所需要的JAVA库的JAR文件名。
三、编译一个需要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)
注:LOCAL_CERTIFICATE后面应该是签名文件的文件名
四、编译一个需要特殊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)
六、装载需要.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)
注:LOCAL_JAVA_LIBRARIES表示生成的java库的jar文件名。
分享到:
相关推荐
### Android.mk 文件语法规范及使用模板详解 #### 一、引言 在深入探讨`Android.mk`文件的具体语法规范和使用模板之前,我们先来简要回顾一下`Android.mk`文件的基本概念及其在Android NDK中的作用。`Android.mk`...
`Android.mk`是Android NDK(Native Development Kit)的一部分,它是一个Makefile模板,用于定义原生C/C++库的构建规则。在这个上下文中,`Android.mk`被用来配置FFmpeg 2.0的编译过程,包括选择要包含的组件、设置...
以下是一个基本的Android.mk模板: ```makefile LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := my_library LOCAL_CFLAGS := -DDEBUG LOCAL_SRC_FILES := \ src/my_file1.c \ src/my_file...
以下是一个基本的`Android.mk`模板,用于编译和预置无源码的`wukong.apk`: ```makefile LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := wukong LOCAL_MODULE_CLASS := APPS LOCAL_MODULE_...
一个Android.mk file用来向编译系统描述你的源代码。具体来说:-该文件是GNU Makefile的一小部分,会被编译系统解析一次或更多次的build系统。因此,您应尽量减少您声明的变量,不要认为某些变量在解析过程中不会被...
Android开发之Android.mk模板的实例详解 关于Android NDK开发的文章已经比较多了,我的博客中也分享了很多NDK开发相关经验和技巧,今天简单写了一个 Android.mk 的示例模板,供初学者参考。 本模板主要给大家示例 ...
在Android开发中,有时我们需要利用C或C++代码来实现一些高性能、低级别的功能,比如加密算法。...记得根据需要添加不同的Android.mk文件或者使用CMakeLists.txt文件以支持更多架构或更复杂的构建需求。
在 Boost-for-Android-Prebuilt 中包含的 "Android.mk" 文件,将指导开发者如何将预构建的 Boost 库集成到他们的 Android 项目中。通过在自己的本地模块定义文件(如 "jni/Android.mk")中引用这个文件,开发者可以...
在Android平台上集成OpenCV通常涉及到添加库依赖、配置Android.mk或build.gradle文件、处理JNI接口等步骤。开发者可能需要了解NDK(Native Development Kit)的知识,以便将C++编写的OpenCV代码与Java代码集成。 ...
`Android.mk` 文件是Android NDK中的一个重要组成部分,用于控制库的编译方式。本指南深入讲解了`Android.mk`中的各种变量,以及它们如何影响库的构建过程。 #### 创建发布密钥与签名构建 为了确保应用的安全性和...
你需要在指定的路径下创建Android.mk文件,定义你的C/C++源文件和编译选项。 Android.mk文件通常会包含如下内容: ```makefile LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := myLib LOCAL...
在C/C++层,开发者需要编写Android.mk和Application.mk文件来配置构建过程。Android.mk指定源文件、依赖库以及编译选项,而Application.mk用于设置NDK编译器的属性,如APP_ABI(目标架构)和APP_STL(标准模板库)。...
总的来说,"AndroidDemo.zip"是一个宝贵的教育资源,可以帮助初学者快速入门Android开发,同时也为有经验的开发者提供了一个参考模板,以便他们能够在实践中不断拓展和改进自己的技能。通过实际操作和解构这个项目,...
3. **编写Android.mk文件**: - 定义如何编译C/C++源文件: ```makefile LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := native-lib LOCAL_SRC_FILES := native-lib.cpp LOCAL_...
#### 一、Android.mk文件语法规范及使用模板 **1.1 Android.mk文件介绍** 在Android开发中,特别是在利用NDK(Native Development Kit)进行原生开发时,`Android.mk`文件起着核心作用。它是描述项目中C/C++源代码...
这个文件定义了应用的各种视觉样式,包括主题。 步骤2:创建自定义主题 为了隐藏标题栏,我们需要创建一个继承自Android原生主题(如`Theme.AppCompat.Light.NoActionBar`或`Theme.Material3.DayNight.NoActionBar`...
开源代码编译成android平台工程模板 修改libtest\proj.android\jni\OgreBullet_Dynamics.mk 的搜索路径,把libtest\src换成开源代码,最好事整个都放进去。然后修改 some_static.mk中的 # config self source file ...
在使用GCC的时代,Android.mk文件是定义NDK构建规则的主要方式。这个文件会指定源文件、依赖库和编译选项。而CMakeLists.txt是CMake的配置文件,它有类似的功能,但语法和灵活性更高。 **插件和工具链** 在Android...
首先,`Android.mk`和`Application.mk`是Android NDK构建系统的关键文件。`Android.mk`用于定义模块的编译规则,比如源文件路径、编译选项、依赖库等,使得NDK可以编译C/C++代码。`Application.mk`则配置全局的编译...