Native Service的完整示例
来源:互联网 发布:手机淘宝会员名怎么填 编辑:程序博客网 时间:2024/05/19 00:39
1.http://blog.csdn.net/yongyu_it/article/details/54629675
2.http://blog.csdn.net/zhx6044/article/details/47342227
AOSP版本:Android-7-0-0_r6
项目结构:位于android-7-0-0_r6\frameworks\native\services\thinking_test下
1、service:native service的主体,即服务的实现部分
2、server:native service的载体,即启动和注册服务的部分。
3、client:客户端程序,服务调用封装。
4、test:测试client
------------------------------------------------------------------------------------------------------------------------------------------
service
ThinkingService.h
ThinkingService.cpp
Android.mk
------------------------------------------------------------------------------------------------------------------------------------------
server
ThinkingServer.cpp
Android.mk
------------------------------------------------------------------------------------------------------------------------------------------
client
ThinkingClient.cpp
Android.mk
------------------------------------------------------------------------------------------------------------------------------------------
test
test.cpp
Android.mk
------------------------------------------------------------------------------------------------------------------------------------------
整个项目的Android.mk文件(即android-7-0-0_r6\frameworks\native\services\thinking_test\Android.mk)
------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------
实际验证
1、把这4个部分编译出来[yong@localhost android-7-0-0_r6]$ cd frameworks/native/services/thinking_test
[yong@localhost thinking_test]$ mm
[yong@localhost thinking_test]$ mm
[yong@localhost android-7-0-0_r6]$ ls out/target/product/angler/system/lib
可以看到
[yong@localhost android-7-0-0_r6]$ ls out/target/product/angler/system/bin
可以看到
2、用adb命令将编译结果push到测试手机里面去
Z:\AndroidSourceCode\android-7-0-0_r6>adb push .\out\target\product\angler\system\lib\libThinkingClient.so /system/lib/
[100%] /system/lib/libThinkingClient.so
Z:\AndroidSourceCode\android-7-0-0_r6>adb push .\out\target\product\angler\system\lib\libThinkingService.so /system/lib/
[100%] /system/lib/libThinkingService.so
[100%] /system/lib/libThinkingClient.so
Z:\AndroidSourceCode\android-7-0-0_r6>adb push .\out\target\product\angler\system\lib\libThinkingService.so /system/lib/
[100%] /system/lib/libThinkingService.so
Z:\AndroidSourceCode\android-7-0-0_r6>adb push .\out\target\product\angler\system\bin\ThinkingServer /system/bin/
[100%] /system/bin/ThinkingServer
Z:\AndroidSourceCode\android-7-0-0_r6>adb push .\out\target\product\angler\system\bin\ThinkingTest /system/bin/
[100%] /system/bin/ThinkingTest
[100%] /system/bin/ThinkingServer
Z:\AndroidSourceCode\android-7-0-0_r6>adb push .\out\target\product\angler\system\bin\ThinkingTest /system/bin/
[100%] /system/bin/ThinkingTest
3、测试
Z:\AndroidSourceCode\android-7-0-0_r6>adb shell
angler:/system/bin # ./ThinkingServer &
[1] 16230
angler:/system/bin # ThinkingService start register
[1] 16230
angler:/system/bin # ThinkingService start register
angler:/system/bin # ./ThinkingTest
result is 2
result is 2
angler:/system/bin #
编译优化
如果嫌mm的方式麻烦
可在android-7-0-0_r6\build\target\product\base.mk添加如下代码
即可将这些模块加入AOSP编译系统,这样直接make,就可得到包含这些模块的输出结果(system.img)
阅读全文
0 0
- Native Service的完整示例
- 一个Native Service的完整示例
- 一个Native Service的完整示例
- 【Android Native Code开发系列】六 一个Native Service的完整示例
- 【Android Native Code开发系列】六 一个Native Service的完整示例
- 【Android Native Code开发系列】一个Native Service的完整示例 1234567
- 【Android Native Code开发系列】六 一个Native Service的完整示例
- Android 6.0一个完整的native service
- Android Native Service简单实现示例
- Native Service的实现
- Service的完整解读
- 完整的react-native项目
- 一个完整的android Service
- 王家林最受欢迎的一站式云计算大数据和移动互联网解决方案课程 V1之Android架构设计和实现完整训练:HAL&Framework&Native Service&Android Service&Bes
- Nginx的完整配置示例
- nginx的完整配置示例
- 完整的RMAN备份示例
- Android架构设计和软硬整合完整训练:HAL&Framework&Native Service&Android Service&Best Practice
- 【Codeforces 817 C. Really Big Numbers】+ 构造
- RocketMQ学习
- 由Web Project Settiongs导致的404
- 简易版WireShark实现-界面设计
- 七、贪心算法
- Native Service的完整示例
- 别让你妈知道!
- iOS 有TabBar的VC界面push后隐藏TabBar的方法
- 设计模式之迭代器模式
- 50个必备的实用jQuery代码段+ 可以直接拿来用的15个jQuery代码片段
- Python 如何调用父类的构造函数
- Python基础——字典
- iOS-仿膜拜贴纸滚动(物理仿真)
- Ubuntu输入密码后重返登录界面