打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
android 源码中添加一个最简单的自启动的本地服务

Native Service 创建过程学习笔记

a. 在vendor/ /common/目录下创建文件夹Native_service
b. 在此文件目录下创建.cpp 文件,并编写程序代码:

#include <stdio.h>#include <string.h>#include <stdlib.h>#define LOG_NDEBUG 0#define LOG_TAG "hello_world"#include <utils/Log.h>int main (int argc ,int *argv ){    ALOGD("hello world");    return 0;}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

c. 在此目录下创建.mk文件,编写Android makefile 程序代码:

LOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)  LOCAL_MODULE_TAGS := optionalLOCAL_SRC_FILES := HelloWorld.cpp  LOCAL_STATIC_LIBRARIES := libcutils liblog LOCAL_MODULE := helloworld  include $(BUILD_EXECUTABLE)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

d . 在源码中编译所写服务:

cd Android_1008M/source build/envsetup.shlunch mmm  /vendor/ /common/native_services
  • 1
  • 2
  • 3
  • 4

e. 编译成功后, 将服务打包到项目中,打开products.mk文件
找到如下代码位置:

##################################################################################   TARGET FOR COMMON   ####################################################################################PRODUCT_PACKAGES +=         AMapNetworkLocation         irremote         sougou_input         zigbeeSerianlportTest         Market         SixLoWPanUpgrade         SmartHome         BugReport         UCBrowser         helloworld  //在其后面添加自己写的服务helloworld (小写)。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

f. 增加.rc文件:在init.target.rc文件中添加service:

# hello world service helloworld /system/bin/helloworld    class late_start     user system    grop system
  • 1
  • 2
  • 3
  • 4
  • 5

g. 重新编译整个源码文件,将所写服务加到源码中,并将所得的系统烧到手机中:

source bulid/envsetup.shlunchmake –j32
  • 1
  • 2
  • 3

h . 查看自己所写的服务 :

打开cmd,输入命令 adb logcat –s hello_world

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
在java中实现调用简单的c程序
Java中native关键字
Android内核开发:在源码树中添加新的app应用
Android ndk 开发demo
android bionic移植需要注意的事项
Android 4.4 源码中的关键代码途径
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服