最近学习android,用了一段时间的eclipseAD,刚把eclipseAD使用顺手.发现谷歌的android studio使用的人越来越多,android studio将成为趋势,就果断换android studio上.

       昨天,跟着老师做,一个电话拦截的功能,需要使用到TelephonyManager,这东西在低版本中可以轻松获取,在高版本中,构造方法已经隐藏.所以只能通过绕一大圈通过反射获取系统的服务,调用底层直接拦截电话.但是底层的关键接口是一个ITelephony.aidl文件和附带的另一个aidl文件.老师三下两下,在eclipseAD中就完成了导入,生成对应的java文件,调用完成功能.但是我在studio中,跟着做相同的步骤,却没有完成功能.

       通过查看博客,才知道.在studio中调用aidl跟eclipseAD是有些不一样的.博客中大多都是说怎么自定义aidl文件,然后自动生成java文件的.关于调用一个别人已经封装好的aidl文件,写得并不多.通过,一番尝试,终于生成了aidl对应的java文件.这里通过截图和文字尽可能详细说明过程.

       第一步.找到需要导入工程的aidl文件.通过文本打开,找到文件中的具体包名

             

       第二步在studio的工程目录下app/src/main/下创建一个aidl文件夹(aidl文件夹是跟java文件夹是同级的,不要创建到java文件夹里面),然后在aidl文件夹下,使用刚才aidl找到的具体包名,创建一个相同名字的包(名字一定要相同,否则不能生产的.这跟eclipseAD一致),最后在把需要导入的aidl文件复制到刚刚创建的包下(怎么复制,这个太简单,就不说了).然后目录结构就基本如下了

      

第三步,经过前两步,主要的步骤已经完成.如果对应的java文件还没有自动生成可以.先清除编译文件,让studio重新编译就会自动生成java文件了(直接rebuild应该也可以).

      

 

Studio自动生成的java文件就会出现在app/build/generated/source/aidl/debug/包名/文件夹下了


搞完这些,在studio中编写代码就会出现自动提示了.


       有博文上说,自定义的aidl在main/aidl下创建无法生成对应的java文件,需要在java文件夹下才能生成.不知道是因为他们使用的是早期的版本还是什么,反正我用的是14年12月的版本,在java文件夹下,我尝试了好几次都是无法自动生成对应的java文件的.

更多相关文章

  1. Android(安卓)MultiDex
  2. cocos2dx 中 Android(安卓)NDK 加载动态库的问题
  3. Android(安卓)SDK Manager 在win8.1上的闪退问题
  4. Android(安卓)Building System 总结
  5. Android(安卓)adb命令
  6. 【android】图片放错文件夹引起显示大小不同的原因与屏幕适配原
  7. 编程回忆之Android回忆(Android标题栏的去除和全屏)
  8. Android(安卓)Fragment用法详解(2)--动态添加Fragment
  9. Android7.0、8.0应用内安装apk的问题

随机推荐

  1. android 开源 + 一些素材网站
  2. android webView onPageFinish调用多次??
  3. 【Android Developers Training】 82. 序
  4. Android常用集合List之实现类ArrayList解
  5. Android全屏显示,去除标题栏和状态栏
  6. 使用Java解析XML文件以获取名称列表
  7. android listview优化几种写法 详细出处
  8. 使用Android-UIL,如何停止下载?
  9. ViewPager的滑动禁止和滑动启动
  10. android发送通知及更新通知