源码树中添加app应用
来源:互联网 发布:淘宝公告 编辑:程序博客网 时间:2024/06/01 21:33
源码树中添加app应用
Eclipse,AndroidStudio编译通过的app应用添加到Android源码中编译,需要在app工程中添加Android.mk文件。
常见Android.mk文件写法有如下三种方法:
1. 不带jni本地代码
(1)HelloWorld目录下面新建Android.mk文件
LOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE_TAGS := engLOCAL_SRC_FILES := $(call all-subdir-java-files)LOCAL_PACKAGE_NAME := HelloWorldinclude $(BUILD_PACKAGE)
LOCAL_MODULE_TAGS的备选值有user,eng,tests,optional,本示例中使用的TAGS值为eng,因此,仅当用户指定的编译选项为eng时才会编译该工程
(2) 配置makefile,添加新的项目
选择 /device/<company>/ <product>/xxxx.mk
在其中的PRODUCT_PACKAGES
参数列表中添加本工程:
PRODUCT_PACKAGES := \ DeskClock \ Calculator \ Calendar \ Camera2 \ Email \ HelloWorld
(3) 编译模块
在HelloWorld目录下输入mm -B -j
命令,或者切换到Android源码根目录下执行下面任意一条命令即可:
$ make HelloWorld $ mmm ``package``/apps/HelloWorld
2. 含有jni本地代码
对于含有jni的项目,则需要修改上述新建的Android.mk,如下:
LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE_TAGS := eng LOCAL_SRC_FILES := $(call all-subdir-java-files) LOCAL_PACKAGE_NAME := HelloWorld LOCAL_JNI_SHARED_LIBRARIES := libmynative include $(BUILD_PACKAGE) include $(call all-makefiles-under,$(LOCAL_PATH))
jni目录下的Android.mk如下(假设jni目录下有inc和src目录):
LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := libmynativeLOCAL_SRC_FILES := src/mynative.cLOCAL_C_INCLUDES += $(JNI_H_INCLUDE)LOCAL_C_INCLUDES += $(LOCAL_PATH)/incinclude $(BUILD_SHARED_LIBRARY)
3. 含有jni本地代码,并且本地代码依赖第三方库(.a或者so)
假设本地代码依赖的第三方库为:encoder.a 和 decoder.so
(1) 修改上述jni目录下的Android,mk,添加如下两项:
LOCAL_STATIC_LIBRARIES := libencoderLOCAL_SHARED_LIBRARIES := libdecoder
(2) 修改HelloWorld目录下的Android.mk文件
首先把 encoder.a 和 decoder.so 都拷贝到工程根目录下,然后修改Android.mk文件,添加如下两项即可:
include $(CLEAR_VARS)LOCAL_MODULE := libencoderLOCAL_SRC_FILES := encoder.aLOCAL_MODULE_TAGS := engLOCAL_MODULE_CLASS := STATIC_LIBRARIESLOCAL_MODULE_SUFFIX := .ainclude $(BUILD_PREBUILT)include $(CLEAR_VARS)LOCAL_MODULE := libdecoderLOCAL_SRC_FILES := decoder.soLOCAL_MODULE_TAGS := engLOCAL_MODULE_CLASS := SHARED_LIBRARIESLOCAL_MODULE_SUFFIX := .soinclude $(BUILD_PREBUILT)
jni: 接口(Java Native Interface)
0 0
- 源码树中添加app应用
- 如何在Android 内核源码树中添加app应用?
- 如何在Android 内核源码树中添加app应用?
- Android内核开发:在源码树中添加新的app应用
- Android内核开发:在源码树中添加新的app应用
- Android内核开发:在源码树中添加新的app应用
- Android源码中添加 修改应用
- android 添加应用到android源码中
- android 添加应用到android源码中
- Android源码中添加 修改应用
- android 添加应用到android源码中
- Android源码中添加 修改应用
- Android源码中添加 修改应用
- android 添加应用到android源码中
- android系统源码中添加app源码(源码部署移植)
- Android内核开发:从源码树中删除出厂的app应用
- Android内核开发:从源码树中删除出厂的app应用
- Android内核开发:从源码树中删除出厂的app应用
- Android编程BUG调试规则
- js页面操作记录
- 设计模式-单例模式(Singleton Pattern)
- Masonry简单使用
- Makefile 知识整理
- 源码树中添加app应用
- Mysql字段类型以及操作
- 【Spring十】使用OpenSessionInView解决懒加载问题及Spring管理下的session和事务
- nginx 下 ~ seo ~ ip canonicalization 解决
- [转]一个关于三角形的测试用例设计
- java.net.URL的简单使用
- 一个想法->设备控制声音大小 分贝
- cdn基础知识-《cdn技术详解》笔记
- Delphi Edit限制只能输入数字