zoukankan      html  css  js  c++  java
  • 第7课第2节_Binder系统_c++实现_编译测试

    设置执行环境:

    .setenv
    lunch
    23(.full_tiny4412-eng)
    进入到代码所在目录执行
    mmm .

    七. Binder系统之服务的c++实现
    1. 编写代码
    参考文件:
    frameworksavincludemediaIMediaPlayerService.h (IMediaPlayerService,BnMediaPlayerService)
    frameworksavmedialibmediaIMediaPlayerService.cpp (BpMediaPlayerService)
    frameworksavmedialibmediaplayerserviceMediaPlayerService.h
    frameworksavmedialibmediaplayerserviceMediaPlayerService.cpp
    frameworksavmediamediaserverMain_mediaserver.cpp (server, addService)


    第一次:
    git clone https://github.com/weidongshan/APP_0004_Binder_CPP_App.git

    更新:
    git pull origin

    取出指定版本:
    git checkout v1 // 初始版本, 未调试

    2. 编译测试

    参考frameworksavmediamediaserverAndroid.mk

    编译:
    a. 文件放入frameworks/testing/APP_0004_Binder_CPP_App
    b. cd /work/android-5.0.2/
    . setenv
    lunch //选择23. full_tiny4412-eng
    c. cd frameworks/testing/APP_0004_Binder_CPP_App
    mmm .


    测试:
    a. 重新编译内核让它支持NFS
    make menuconfig
    <*> NFS client support | |
    [*] NFS client support for NFS version 3 | |
    [*] NFS client support for the NFSv3 ACL protocol extension | |
    [*] NFS client support for NFS version 4 | |
    [*] NFS client support for NFSv4.1 (EXPERIMENTAL)

    make zImage, 并使用新的zImage启动单板

    b. mount nfs
    su
    ifconfig eth0 192.168.1.100
    busybox mount -t nfs -o nolock,vers=2 192.168.1.123:/work/nfs_root /mnt   (在Android系统中不支持mount,必须使用busybox mount)

    c. 执行 test_server, test_client

    ./test_server &
    logcat HelloService:* *:S &
    ./test_client hello
    ./test_client hello weidongshan

     程序运行执行的结果:

     

    注意如果使用的是上一节的内核,即修改了binder.c的,含有打印信息的。应恢复为原来的,否则启动非常慢。

     

    执行c语言编写的代码

    首先修改makefile 编译为静态连接

     makeflie:

     

     现在使用c++实现的test_server和c语言实现的test_client之间可以互相通信

     

     现在使用c语言实现的test_server和c++语言实现的test_client之间可以互相通信

  • 相关阅读:
    [转]Flex PieChart
    Flash Builder 4 下载
    [转]Android如何防止apk程序被反编译
    [转]自定义Spinner五步走
    [转]coolpad 获得 root
    [转]c# .net 用程序画图 曲线图
    android ContentProvider 遭遇 failed to find provider info
    [转]如何把多个Android Project打包成一个APK
    android loading界面 及 处理
    [转]android中生成和使用jar 分享
  • 原文地址:https://www.cnblogs.com/zhulinhaibao/p/7103272.html
Copyright © 2011-2022 走看看