Android学习笔记之编译系统(四)在android中如何添加子项目
2013-03-09 16:14
477 查看
转载请注明出处:http://blog.csdn.net/droyon/article/details/8653908
如何添加子项目到系统中?
总结:可添加的子项目可以是apk源代码,可以是c程序,用于编译动态库,或者动态库。
c项目,一般放在external下,首先
我们可以在vendor文件夹目录下以及package目录下考虑添加apk项目,把java文件放在目录下,最重要的是编写Android.mk文件。
如果我们要添加的apk项目,是编译好的apk文件,如果需要将此apk文件编写进入到system/app目录下,可以在项目的AndroidProduct.mk文件中如下写:
如何添加子项目到系统中?
总结:可添加的子项目可以是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/includeapk项目
我们可以在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/appapk项目就添加完了,我们可以编译了。
相关文章推荐
- Android应用随系统编译makefile中如何添加so库
- 如何在Android源码编译系统中添加一个C项目
- Android编译系统如何添加厂商自己定义产品的编译选项
- 如何在Android源码编译系统中添加一个Java项目
- 编译Android时,添加或者删除system.img中第三方apk、更改Android系统默认语言
- Android系统移植与调试之------->如何添加一个adb wifi无线调试的功能【开发者选项】-【Wifi调试】
- repo: 创建local manifest以及如何添加app到CM/Android build系统中
- [置顶] Android系统移植与调试之------->如何修改Android设备添加3G上网功能
- android学习第七讲:学习Android.mk编译jar包,如何编译APK,APK中如何导入jar包和库文件,如何在Android.mk中添加判断语句
- Android4.2.2源码编译-如何把第三方的动态库重新编译到Android系统的/system/lib目录
- 如何在android 系统 C/C++ 层中添加 log 信息
- Android源码编译如何添加eng 或者userdebug等lunch选项
- 如何在android 系统 C/C++ 层中添加 log 信息
- 编译Android时,添加或者删除system.img中第三方apk、更改Android系统默认语言
- 求助 贴,,如何在Android系统源码的环境下用make来编译?
- 编译Android时,添加或者删除system.img中第三方apk、更改Android系统默认语言
- 关于Android的硬件抽象层添加进Android系统默认编译的问题
- Android 4.2 系统编译 找不到添加的内部资源 com.android.internal.R
- Android: 如何向系统设置中添加自己的配置选项及配置页面
- 如何把应用程序app编译进android系统