调试了包括驱动,jni层,当然也熟悉了下应用层。

   1. 驱动层包括修改:
       device/eastaeon/aeon6735_65c_l/init.project.rc    //去掉原来修改权限的语句
 
        device/mediatek/mt6735/init.mt6735.rc    //修改权限,不然可以open不了
                 chmod 0777  /dev/ttyMT2
                 chown system system /dev/ttyMT2 
                 chmod 0777 /dev/uart_rfid
 
        kernel-3.10/arch/arm64/configs/aeon6735_65c_l_debug_defconfig  ////加入编
                 CONFIG_RUNBO_RFID=y
                 CONFIG_HKT_RFID=y
 
        kernel-3.10/drivers/misc/mediatek/Kconfig.drivers //增加Kconfig, 在mtk平台,不加可能导致不会编译
                    #Start [chenxw,2015-04-25]Add rfid driver.
menuconfig RUNBO_RFID
        tristate "Runbo rfid driver"
       default y
       ---help---
          Say Y here for supporting Runbo rfid.
if RUNBO_RFID
config HKT_RFID
           tristate "HKT rfid Driver"
           default y
           help
           This is the pr9200 rfid driver.
endif #End 
 
        kernel-3.10/drivers/misc/mediatek/Makefile.mt6735 //增加目录下的Makefile
                    #Start [chenxw,2015-04-25]Add rfid driver.
obj-$(CONFIG_RUNBO_RFID) += rfid/
#End 
 
        kernel-3.10/drivers/misc/mediatek/rfid/Makefile  //添加在附件 :rfid_driver.rar
      kernel-3.10/drivers/misc/mediatek/rfid/rfid.c        //添加在附件,只做上下电,读取数据在uart驱动中做
 
 
2.JNI修改,有两种方法:
            1.一种是在系统的加载的时候加入系统,这种是编入系统的
            2.一种是生成SO文件,在APK调用的时候加载进系统。
          注意:
                jni的声明的函数要和java声明的函数一一对应。
 
    1.编入系统:
            (1). 主要代码:android_hardware_Rfid.cpp
 
             (2). frameworks/base/api/current.txt  
                        修改framework/base下面的api要注意更新api/current.txt文件, 如果修改了Android原有API的 ,需要update frameworks/base/api/current.txt。
                   否则编译被中断并出现编译错误提示,  可以通过运行 make update-api后,自动更新此文件,检查确认正确后,跟代码一起提交即可。
                        public class Rfid{
    ctor public Rfid()
    method public java.lang.String getMessage();
    method public int sendMessage(java.lang.String);

    method public void intercomPowerOff();
    method public void intercomPowerOn();
                         }
 
             (3) . frameworks/base/core/jni/Android.mk 
                      LOCAL_SRC_FILES += android_hardware_Intercom.cpp   //加入编译
 
             (4).frameworks/base/core/jni/AndroidRuntime.cpp
                      extern int register_android_hardware_Intercom(JNIEnv* env);
                      /register_android_hardware_Intercom  类中加入:
                              REG_JNI(register_android_hardware_Intercom), //使系统在启动的时候就加载JNI库
                      
                                 
            
    2.生成SO文件,与APK一起也可以:RfidJNI.rar
              apk里面带有SO文件,只要有节点就可以打开,进行运行,直接在目录下mm就可以生成动态库。
 
 
 
3.rfid的linux c程序,external目录下
       附件rfid.rar
 
 
 

Android RFID调试总结的更多相关文章

  1. Ubuntu杂记——Ubuntu下以USB方式连接Android手机调试

    在Ubuntu下进行Android开发,发现自己的手机就算打开USB连接.USB调试还是连不上,一直都是显示??????.百度了很多,发现都是要改“ /etc/udev/rules.d/50-andr ...

  2. Android Studio调试功能使用总结【转】

    Android Studio调试功能使用总结[转]   这段时间一直在使用Intellij IDEA, 今天把调试区工具的使用方法记录于此. 先编译好要调试的程序. 1.设置断点 选定要设置断点的代码 ...

  3. Android编程: 调试方法

    学习知识:Android的调试方法 ====调试方法==== 前提: IDE环境为Android Studio,熟悉LogCat,知道如何查看日志信息 工具: Android DDMS调试工具,一般点 ...

  4. ###Android 断点调试和高级调试###

    转自:http://www.2cto.com/kf/201506/408358.html 有人说Android 的调试是最坑的,那我只能说是你不会用而已,我可以说Android Studio的调试是我 ...

  5. Android开发调试日志工具类[支持保存到SD卡]

    直接上代码: package com.example.callstatus; import java.io.File; import java.io.FileWriter; import java.i ...

  6. Android Studio调试功能使用总结---转

    Android Studio调试功能使用总结[转]   这段时间一直在使用Intellij IDEA, 今天把调试区工具的使用方法记录于此. 先编译好要调试的程序. 1.设置断点 选定要设置断点的代码 ...

  7. Android无线调试(转)

    Android无线调试——抛开USB数据线 开发Android的朋友都知道,真机调试需要把手机与PC相连,然后把应用部署到真机上进行安装和调试.长长的USB线显得很麻烦,而且如果需要USB接口与其他设 ...

  8. android studio 调试技巧(简直太好用)

    android studio 调试技巧(简直太好用) 说到android studio的调试,很多人可能会说,这有什么可讲的不就是一个断点调试么,刚开始我也是这么认为的,直到我了解之后,才发现,调试原 ...

  9. 【转】Android Eclipse调试技巧

    原文地址:https://www.cnblogs.com/tianchunming/p/5423942.html Android Eclipse调试技巧   在Android 应用程序开发中我们经常需 ...

随机推荐

  1. 连肝三个通宵,JVM77道高频面试题详细分析,就这?

    为方便大家记忆,记得收藏加关注哦 ,需要下载PDF版本请在公众号[程序员空间]回复"资料"即可获取下载方式,你也可以 点在文末微信扫描二维码关注! 1.java 中会存在内存泄漏吗 ...

  2. 使用MediaRecorder录音

    Android提供了两个API用于录音的实现:MediaRecorder 和AudioRecord. MediaRecorder:录制的音频文件是经过压缩后的,需要设置编码器.并且录制的音频文件可以用 ...

  3. 手把手教你使用 cert-manager 签发免费证书

    概述 随着 HTTPS 不断普及,越来越多的网站都在从 HTTP 升级到 HTTPS,使用 HTTPS 就需要向权威机构申请证书,需要付出一定的成本,如果需求数量多,也是一笔不小的开支.cert-ma ...

  4. DOSbox简单运行操作

    打开DOSbox 先输入 mount c e:\dos    e:\dos 是我的电脑上DOSbox的安装位置,你们自己的电脑上位置不同,自己找找. 2.输入 c: ,再输入 masm 结果如下 : ...

  5. 自动化运维Ansible-01-安装及简单的使用

    实验环境:Centos 7.x Ansible版本:ansible 2.9.13 服务端的操作 1.系统默认的yum仓库中没有找到ansible,这里我们先安装epel源(需要用到CentOS-Bas ...

  6. Linux 系统编程 学习:11-线程:线程同步

    Linux 系统编程 学习:11-线程:线程同步 背景 上一讲 我们介绍了线程的属性 有关设置.这一讲我们来看线程之间是如何同步的. 额外安装有关的man手册: sudo apt-get instal ...

  7. Django做验证码登录

    验证码 关注公众号"轻松学编程"了解更多. 1.作用 在用户登录,注册以及一些敏感操作的时候,我们为了防止服务器被暴力请求,或爬虫爬取,我们可以使用验证码进行过滤,减轻服务器的压力 ...

  8. Lock Her Up

    题意描述 同样没有链接.... Problem 2: Lock Her Up [Jan Kuipers, 2003] Bessie has been bad again and Farmer John ...

  9. POJ2430 Lazy Cows

    题意描述 Lazy Cows 给定一个 \(2\times b\) 的矩形,和 \(n\) 个矩形上的点. 要求你用 \(k\) 个矩形覆盖这 \(n\) 个点,使得每个点都被覆盖的前提下这些矩形的面 ...

  10. Hadoop安装 与 HDFS体系结构