Android make 文件编写mk编译脚本
来源:互联网 发布:分析软件 编辑:程序博客网 时间:2024/05/22 07:40
Android.mk
LOCAL_PACKAGE_NAME := SystemUI //应用编译后的名称:SysemUI
LOCAL_PRIVILEGED_MODULE := true // 预置到 /system/pri-app/
不添加此属性,编译后的路径为/system/app/SystemUI
在同样具有系统权限情况下,/system/pri-app下的apk权限比/system/app下大
LOCAL_MODULE_PATH :=
// 预置的apk用户可以卸载,恢复出厂设置可恢复
4.LOCAL_MODULE_PATH: 最后的目标安装路径
在build/core/envsetup.mk中定义;TARGET_ROOT_OUT:表示根文件系统;TARGET_OUT:表示system文件系统;TARGET_OUT_DATA:表示data文件系统。
AndroidManifest.xml:
android:sharedUserId=”android.uid.systemui” //SystemUI属于系统apk
coreApp=”true” //SystemUI属于核心apk
android:persistent=”true” //SystemUI不会被KILL,即被KILL后会自动重启
一、Android.mk添加第三方jar
LOCAL_PATH:=
LOCAL_JAVA_LIBRARIES := bouncycastle conscrypt telephony-common
LOCAL_STATIC_JAVA_LIBRARIES := android-support-v4 android-support-v13 jsr305 fc909 quciifplib \
umeng
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := \
LOCAL_SRC_FILES += \
src/com/android/location/XT/IXTSrv.aidl \
src/com/android/location/XT/IXTSrvCb.aidl
LOCAL_PACKAGE_NAME := Settings
LOCAL_CERTIFICATE := platform
LOCAL_PRIVILEGED_MODULE := true
LOCAL_OVERRIDES_PACKAGES := Email
LOCAL_PROGUARD_ENABLED := disabled
LOCAL_PROGUARD_FLAG_FILES := proguard.flags
include frameworks/opt/setupwizard/navigationbar/common.mk
include $(BUILD_PACKAGE)
Use the following include to make our test apk.
ifeq (,
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := umeng:libs/umeng-analytics-v6.0.1.jar
冒号前面为jar别名,后面为jar文件的实际路径
include $(BUILD_MULTI_PREBUILT)
一、编译一个简单的APK
LOCAL_PATH :=
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 :=
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 :=
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 :=
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 :=
Module name should match apk name to be installed.
LOCAL_MODULE := LocalModuleName
LOCAL_SRC_FILES :=
LOCAL_CERTIFICATE := platform
include $(BUILD_PREBUILT)
六、装载需要.so(动态库)的第三方apk
LOCAL_PATH :=
LOCAL_MODULE := baiduinput_android_v1.1_1000e
LOCAL_SRC_FILES :=
LOCAL_CERTIFICATE := platform
include $(BUILD_PREBUILT)
#
# copy the library to /system/lib
#
include
LOCAL_SRC_FILES := lib/
include $(BUILD_PREBUILT)
七、编译一个静态java库
LOCAL_PATH :=
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文件名。
八、support包的添加
LOCAL_PATH := $(call my-dir)
—————————————
Build OmaDrmEngineDemo application
#
Output: OmaDrmEngineDemo.apk
—————————————-
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := \
$(call all-java-files-under, src)
LOCAL_PACKAGE_NAME := OmaDrmEngineDemo
LOCAL_STATIC_JAVA_LIBRARIES := \
android-support-v4 \
android-support-v7-appcompat \
android-support-v7-recyclerview \
android-support-v7-gridlayout \
android-support-design
LOCAL_RESOURCE_DIR = \
$(LOCAL_PATH)/res \
frameworks/support/v7/appcompat/res \
frameworks/support/v7/recyclerview/res \
frameworks/support/v7/gridlayout/res \
frameworks/support/design/res
$(LOCAL_PATH)/../../../../prebuilts/sdk/current/support/v7/appcompat/res
LOCAL_AAPT_FLAGS := \
–auto-add-overlay \
–extra-packages android.support.v7.appcompat \
–extra-packages android.support.v7.recyclerview \
–extra-packages android.support.v7.gridlayout \
–extra-packages android.support.design
LOCAL_PROGUARD_ENABLED := disabled
LOCAL_DEX_PREOPT := false
LOCAL_MODULE_TAGS := eng development
include $(BUILD_PACKAGE)
- Android make 文件编写mk编译脚本
- android make .mk文件说明
- Android.mk文件编写
- android mk文件编写
- android.mk文件编写
- android mk脚本的编写
- Ubuntu下编写Android.mk文件编译生成.apk文件
- Android Buildcook 编译之Android.mk文件的编写
- android编译之mk脚本
- 编写Android.mk Application.mk文件
- Android.mk文件编写示例
- Android.mk文件的编写
- Android.mk文件编写规则
- 如何编写Android.mk 文件
- 关于android.mk文件编写
- android编译系统解析,执行make bootimage后mk文件的调用顺序详解
- 在源码环境中编译Android studio项目时的mk脚本编写
- android.mk文件的编译
- A small test demo about the ++ operator
- smartgit使用不当将文件误删除怎么办?没有commit怎么办?
- UVA - 10006 Carmichael Numbers(素数筛+快速幂)
- github切换源
- MySQL 设计与开发规范
- Android make 文件编写mk编译脚本
- IOS开发网络篇—HTTP协议
- android系统的启动流程
- css3里面的奇淫怪技
- APK的安装流程及PackageManagerService源码解析&静默安装
- iOS开发网络篇—GET请求和POST请求
- android中进程管理
- 2015 ACM Amman Collegiate Programming Contest 简要题解。
- CSS 神奇的border(一)