【实例简介】
android 收音机 FM 驱动 hal层 框架层以及应用层代码
方法一 不需要framework部分
1.fm放到 \hardware\rk2x
2.FmRadio 放到 packages\apps
3.hardware\libhardware\include\hardware\fm.h 放到hardware\libhardware\include\hardware\fm.h
4.build\target\product中PRODUCT_PACKAGES :=加上 FmRadio \
5./bionic/libc/kernel/common/linux/Hw_fm.h拷贝过去
6./de
【实例截图】
【核心代码】
FM移植包(基于Android4.4)
├── 方法一(FmService写在apk里面)
│ ├── bionic
│ │ └── libc
│ │ └── kernel
│ │ └── common
│ │ └── linux
│ │ └── Hw_fm.h
│ ├── drvier
│ │ └── fm
│ │ ├── 5807p
│ │ │ ├── built-in.o
│ │ │ ├── fm5807.c
│ │ │ ├── fm5807.h
│ │ │ ├── fm5807.o
│ │ │ ├── Kconfig
│ │ │ ├── Makefile
│ │ │ └── modules.order
│ │ ├── built-in.o
│ │ ├── Kconfig
│ │ ├── Makefile
│ │ ├── modules.order
│ │ └── qn8006
│ │ ├── hw_qn8006.h
│ │ ├── Kconfig
│ │ ├── Makefile
│ │ ├── qn8006.c
│ │ ├── qncommon.h
│ │ ├── qnconfig.h
│ │ ├── qndriver.c
│ │ ├── qndriver.h
│ │ ├── qnfunc.c
│ │ ├── qnfunc.h
│ │ ├── qnio.c
│ │ ├── qnio.h
│ │ └── qnreg.h
│ ├── FmRadio
│ │ └── FmRadio
│ │ ├── AndroidManifest.xml
│ │ ├── Android.mk
│ │ ├── bin
│ │ │ ├── aidl
│ │ │ │ └── com
│ │ │ │ └── rk
│ │ │ │ └── FmRadio
│ │ │ │ └── IfmService.aidl
│ │ │ └── AndroidManifest.xml
│ │ ├── gen
│ │ │ └── com
│ │ │ └── rk
│ │ │ └── FmRadio
│ │ │ ├── BuildConfig.java
│ │ │ ├── IfmService.java
│ │ │ └── R.java
│ │ ├── jni
│ │ │ ├── Android.mk
│ │ │ ├── com_android_server_FmService.cpp
│ │ │ └── Log.h
│ │ ├── project.properties
│ │ ├── res
│ │ │ ├── drawable
│ │ │ │ ├── areabutton2.png
│ │ │ │ ├── areabutton.png
│ │ │ │ ├── area.xml
│ │ │ │ ├── autobutton2.png
│ │ │ │ ├── autobutton.png
│ │ │ │ ├── auto.xml
│ │ │ │ ├── background.png
│ │ │ │ ├──