其中对模块的编译有辅助说明的是m、mm、mmm这几个指令
其中mmm后面要跟模块的根目录,不是所有的目录下都有子模块,那些含有Android.mk档案目录才是模块的根目录,模块名可以从Android.mk的LOCAL_MODULE或者LOCAL_PACKAGE_NAME变数中得到。
1、单独编译某模块,需要在mmm后面指定模块路径,例如编译ffmpeg 中的libjnivideo
mmm frameworks/base/native/video/jni
2、或者可以跳转到你想编译模块相对应目录下执行“mm”命令。
就可以编译单独的模块,事实上,这个命令与mmm命令没有本质的区别。
3、用 m 编译全部的模块
$ make module_name
快速生成img
mmm后执行
./build-nct-img.sh -n 0 -g
2 framework services下services编译
zdd@spon:~/Workspace/rk3399/RK3399-JD4-Android7.1$ source build/envsetup.sh
zdd@spon:~/Workspace/rk3399/RK3399-JD4-Android7.1$ lunch nct_box-userdebug
zdd@spon:~/Workspace/rk3399/RK3399-JD4-Android7.1/frameworks/base/services$ mm
mmm packages/apps/Bluetooth/
/mnt/nctsdc2/RK3399System/RK3399-JD4-Android7.1/packages/apps/Bluetooth/src/com/android/bluetooth/hfp
/mnt/nctsdc2/RK3399System/RK3399-JD4-Android7.1/out/target/product/nct_box/system/app/Bluetooth
2 framework services下services编译
zdd@spon:~/Workspace/rk3399/RK3399-JD4-Android7.1$ source build/envsetup.sh
zdd@spon:~/Workspace/rk3399/RK3399-JD4-Android7.1$ lunch nct_box-userdebug
zdd@spon:~/Workspace/rk3399/RK3399-JD4-Android7.1/frameworks/base/services$ mm
#在RK3399-JD4-Android7.1/out/target/product/nct_box/system/framework
生成out/target/product/nct_zz/system/framework/services.jar,替换到设备中即可
adb -s Z7F6BU2W9X root
adb -s Z7F6BU2W9X remount
adb -s Z7F6BU2W9X push C:\Users\Administrator\Desktop\lib\services.jar /system/framework/
adb -s Z7F6BU2W9X reboot
path
/mnt/nctsdc2/debug/RK3399System/RK3399-JD4-Android7.1/frameworks/base/services/core/java/com/android/server/wm
/mnt/nctsdc2/debug/RK3399System/RK3399-JD4-Android7.1/out/target/product/nct_box/system/framework
/mnt/nctsdc2/selfrk3399sys/android-7.1_src/frameworks/base/services/core/java/com/android/server/wm/
/mnt/nctsdc2/selfrk3399sys/android-7.1_src/out/target/product/nct_zz/system/framework
2.1 av/services/audiopolicy$编译
nct@nct-admin:/mnt/nctsdc2/yhf/RK3399System_self/frameworks/av/services/audiopolicy$
#在RK3399-JD4-Android7.1/out/target/product/nct_box/system/framework
[100% 52/52] build out/target/product/nct_zz/obj_arm/lib/libaudiopolicyservice.so.toc
C:\Users\Administrator>adb push C:\Users\Administrator\Desktop\lib\arm\libaudiopolicyenginedefault.so /system/lib/
C:\Users\Administrator>adb push C:\Users\Administrator\Desktop\lib\arm\libaudiopolicymanager.so /system/lib/
C:\Users\Administrator>adb push C:\Users\Administrator\Desktop\lib\arm\libaudiopolicymanagerdefault.so /system/lib/
C:\Users\Administrator>adb push C:\Users\Administrator\Desktop\lib\arm\libaudiopolicyservice.so /system/lib/
C:\Users\Administrator>adb push C:\Users\Administrator\Desktop\lib\libaudiopolicyenginedefault.so /system/lib64/
C:\Users\Administrator>adb push C:\Users\Administrator\Desktop\lib\libaudiopolicymanager.so /system/lib64/
C:\Users\Administrator>adb push C:\Users\Administrator\Desktop\lib\libaudiopolicymanagerdefault.so /system/lib64/
C:\Users\Administrator>adb push C:\Users\Administrator\Desktop\lib\libaudiopolicyservice.so /system/lib64/
/mnt/nctsdc2/selfrk3399sys/android-7.1_src/hardware/rockchip/audio/tinyalsa_hal
/mnt/nctsdc2/selfrk3399sys/android-7.1_src/out/target/product/nct_zz
3 tinyalsa编译
source build/envsetup.sh
lunch nct_zz-userdebug
mmm hardware/rockchip/audio/
把/home/zdd/Workspace/rk3399/RK3399-JD4-Android7.1/out/target/product/nct_box/obj/lib下的audio.primary.rk30board.so拷到桌面
adb -s Z7F6BU2W9X push C:\Users\Administrator\Desktop\audio.primary.rk30board.so /system/lib64/hw/
adb -s Z7F6BU2W9X push C:\Users\Administrator\Desktop\armlib\audio.primary.rk30board.so /system/lib/hw/
zz版路径
./vendor/lib/hw/audio.primary.rk30board.so
./vendor/lib64/hw/audio.primary.rk30board.so
adb -s N6HLSE20G0 root
adb -s N6HLSE20G0 remount
adb -s N6HLSE20G0 push C:\Users\Administrator\Desktop\lib\audio.primary.rk30board.so /vendor/lib64/hw/
adb -s N6HLSE20G0 push C:\Users\Administrator\Desktop\lib\arm\audio.primary.rk30board.so /vendor/lib/hw/
adb -s N6HLSE20G0 reboot
source build/envsetup.sh
lunch nct_zz-userdebug
cd
mm
adb -s Z7F6BU2W9X push C:\Users\Administrator\Desktop\lib\Settings.apk /system/priv-app/Settings
play:
tinymix 37 0 (mute)
tinyplay houla2i.wav
tinymix 7 0 (mute)
tinymix 9 0
record:
tinymix 57 1
tinycap file.wav -D 0 -d 0 -c 2 -r 48000
13 BOOL 1 Left DAC Mute Switch Off
14 BOOL 1 Right DAC Mute Switch Off
tinymix 13 0 (mute)
tinymix 14 0 (mute)
cat /proc/asound/cards
127|nct_zz:/sdcard # cat /proc/asound/cards
0 [rockchipaic3204]: rockchip_aic320 - rockchip,aic3204-codec
rockchip,aic3204-codec
1 [rockchiphdmi ]: rockchip_hdmi - rockchip,hdmi
rockchip,hdmi
2 [rockchipbt ]: rockchip_bt - rockchip,bt
rockchip,bt
nct_zz:/dev/snd # ls /dev/snd/
controlC0 controlC1 controlC2 pcmC0D0c pcmC0D0p pcmC1D0p pcmC2D0c pcmC2D0p timer
nct_zz:/proc/asound # tinypcminfo -D /proc/asound/cards
Info for card 0, device 0:
PCM out:
Access: 0x000009
Format[0]: 0x000404
Format[1]: 00000000
Format Name: S16_LE, S32_LE
Subformat: 0x000001
Rate: min=8000Hz max=48000Hz
Channels: min=2 max=2
Sample bits: min=16 max=32
Period size: min=32 max=65536
Period count: min=2 max=4096
PCM in:
Access: 0x000009
Format[0]: 0x000404
Format[1]: 00000000
Format Name: S16_LE, S32_LE
Subformat: 0x000001
Rate: min=8000Hz max=48000Hz
Channels: min=2 max=2
Sample bits: min=16 max=32
Period size: min=32 max=65536
Period count: min=2 max=4096
tinycap file.wav -D 2 -d 0 -c 2 -r 8000
chroot /data/chroot_linux /usr/bin/env -i HOME=/root USER=root DOTNET_ROOT=/home/xc9000/dotnet31 PATH=/sbin:/bin:/usr/sbin:/usr/bin LD_LIBRARY_PATH=/usr/lib:/home/xc9000/lib:/home/xc9000/AppServer TERM=linux /home/xc9000/TransServer/xc9000ua_test_a.exe
chroot /data/chroot_linux /usr/bin/env -i HOME=/root USER=root DOTNET_ROOT=/home/xc9000/dotnet31 PATH=/sbin:/bin:/usr/sbin:/usr/bin LD_LIBRARY_PATH=/usr/lib:/home/xc9000/lib:/home/xc9000/AppServer TERM=linux /home/xc9000/TransServer/xc9000ua_test_a.exe &
adb -s ZQHOC6Q94O push C:\Users\Administrator\Desktop\xc9000ua_test_a.exe /data/chroot_linux/home/xc9000/TransServer/
chroot /data/chroot_linux /usr/bin/env -i HOME=/root USER=root DOTNET_ROOT=/home/xc9000/dotnet31 PATH=/sbin:/bin:/usr/sbin:/usr/bin LD_LIBRARY_PATH=/usr/lib:/home/xc9000/lib:/home/xc9000/AppServer TERM=linux tinyplay /ring/houla2i.wav
i2cdetect -l
i2cdetect -y -r 1
i2cdump -f -y 1 0x18
i2cset -f -y 1 0x18 0xB3 0x01
i2cget -f -y 1 0x18 0xB3
51 BOOL 1 Left Input Mixer IN1_L P Switch Off
52 BOOL 1 Left Input Mixer IN2_L P Switch Off micXXX
53 BOOL 1 Left Input Mixer IN3_L P Switch Off
54 BOOL 1 Right Input Mixer IN1_R P Switch On goosemic
55 BOOL 1 Right Input Mixer IN2_R P Switch On linein
56 BOOL 1 Right Input Mixer IN3_R P Switch Off handset
57 BOOL 1 Right Input Mixer IN2_L P Switch On mic (开了3V,少了这个通道)
adb无法启动
netstat -ano|findstr “5037”
tasklist |findstr “15828”
文件路径