调试了包括驱动,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. SQL DELETE语句如何让表使用别名的方法

    DELETE 别名 FROM 表名称 别名 WHERE 列名称 = 值

  2. [分享] 通过修改CSS自定义chrome滚动条样式

    首先得说一句 我不懂CSS的写法之类的 这段CSS也是在网上找的 所以有更先进的需求的话 我肯定不能满足你们了 不好意思效果图在10楼有人上了 我这边不管怎么弄 上传图片都卡在96% 而且不翻wall ...

  3. oracle 查询数据库锁及锁处理

    1.数据库锁表查询语句: SELECT SESS.SID, SESS.SERIAL#, LO.ORACLE_USERNAME, LO.OS_USER_NAME, AO.OBJECT_NAME 被锁对象 ...

  4. 对精致码农大佬的 [理解 volatile 关键字] 文章结论的思考和寻找真相

    一:背景 1. 讲故事 昨天在园里的编辑头条看到 精致码农大佬 写的一篇题为:[C#.NET 拾遗补漏]10:理解 volatile 关键字 (https://www.cnblogs.com/will ...

  5. 21个写SQL的好习惯,你值得拥有

    前言 每一个好习惯都是一笔财富,本文分SQL后悔药, SQL性能优化,SQL规范优雅三个方向,分享写SQL的21个好习惯,谢谢阅读,加油哈~ 公众号:捡田螺的小男孩 1. 写完SQL先explain查 ...

  6. Java SPI 机制实现解耦与本地化

    SPI 是 Java 提供的一种服务加载方式,全名为 Service Provider Interface,可以避免在 Java 代码中写死服务的提供者,而是通过 SPI 服务加载机制进行服务的注册和 ...

  7. Python+Django实现微信扫码支付流程

    Python+Django实现微信扫码支付流程 关注公众号"轻松学编程"了解更多. 获取源码可以加我微信[1257309054],文末有二维码. [微信公众号支付官网]https: ...

  8. html关键字高亮

    /** * @id 父节点id * @key 关键字 */ function keyLight(id, key, bgColor){ var oDiv = document.getElementByI ...

  9. GDB调试基础使用方法

    尽管目前使用的VS code可以使用插件一键构建和运行程序,但GDB作为调试利器,还是值得花时间去学习的. 概述 GDB(GNU Debugger) 是一个由GNU开源组织发布的.UNIX/LINUX ...

  10. 【Android Studio】安卓开发初体验1——安装与试用

    安装 (安装预留硬盘(C盘)空余空间16G以上,8G以上内存) Intel用户: 安装Android Studio和AVD(安卓虚拟机 Android Virtual Device) 安装过程需要注意 ...