您的位置:首页 > 移动开发 > Android开发

Android学习笔记之编译系统(四)在android中如何添加子项目

2013-03-09 16:14 477 查看
转载请注明出处:http://blog.csdn.net/droyon/article/details/8653908

如何添加子项目到系统中?

总结:可添加的子项目可以是apk源代码,可以是c程序,用于编译动态库,或者动态库。

c项目,一般放在external下,首先

mkdir Helloworld
然后新建源文件

touch Hello.c
在源文件中输入源代码

#include<stdio.h>
int main(){
printf("%s",str);
}
然后在目录下建立Android.mk文件,在这个文件中,我们要定义编译规则。

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES :=\
Hello.c
LOCAL_C_INCLUDES += $(LOCAL_PATH)
LOCAL_MODULE := Helloworld
LOCAL_MODULE_TAGS :=eng
include $(BUILD_EXECUTABLE)
如果要增加头文件,我们可以增加SRC_HEADERS的值。这个值定义了系统提供的头文件的路径,这个变量,在config.mk中定义的。

SRC_HEADERS := \
$(TOPDIR)system/core/include \
$(TOPDIR)hardware/libhardware/include \
$(TOPDIR)hardware/libhardware_legacy/include \
$(TOPDIR)hardware/ril/include \
$(TOPDIR)dalvik/libnativehelper/include \
$(TOPDIR)frameworks/base/include \
$(TOPDIR)frameworks/base/opengl/include \
$(TOPDIR)frameworks/base/native/include \
$(TOPDIR)external/skia/include
apk项目

我们可以在vendor文件夹目录下以及package目录下考虑添加apk项目,把java文件放在目录下,最重要的是编写Android.mk文件。

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(call all-java-files-under,src)\
src/com/fenghuolun/android/myapk/IHelloworld.aidl /**包含aidl文件 **/
LOCAL_PACKAGE_NAME := myAPk
LOCAL_SDK_VERSION :=current
LOCAL_CERTIFICATE := platform
LOCAL_PROGUARD_FLAG_FILES := proguard.cfg
include $(BUILD_PACKAGE)

include(CLEAR_VARS)
LOCAL_MODULE_TAGS :=optional
LOCAL_PACKAGE_NAME :=myAPkJar
LOCAL_PREBUIT_STATIC_JAVA_LIBBARIES :=myapkbin:myapk.jar   /** 添加静态库**/
include $(BUILD_MULTI_PREBUILT)

LOCAL_JAVA_LIBRARIES:myShareJar /** 添加共享库**/

如果我们要添加的apk项目,是编译好的apk文件,如果需要将此apk文件编写进入到system/app目录下,可以在项目的AndroidProduct.mk文件中如下写:

PRODUCT_COPY_FILES :=
vendor/fenghuolun/jerry/myAPk/myAPk.apk :/system/app
apk项目就添加完了,我们可以编译了。


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android编译系统
相关文章推荐