關於 android RIL 調試

來源:互聯網
上載者:User

首先,要瞭解RIL是如何啟動的,拿G1做個例子

init.rc:

service ril-daemon /system/bin/rild
socket rild stream 660 root radio
socket rild-debug stream 660 radio system
user root
group radio cache inet misc audio

/system/build.prop:

ro.ril.hsxpa=1
ro.ril.gprsclass=10
rild.libpath=/system/lib/libhtc_ril.so

閱讀 /hardware/ril/rild/rild.c。

如果/system/bin/rild 啟動有帶參數,則解析參數,否則找系統變數 rild.libpath

也可以不按照G1的,一口氣寫完:
init.rc:
/system/bin/rild -l /system/lib/libreference-ril.so — -d /dev/ttyS0

/hardware/ril/rild/rild.c 裡有一段注釋: “special override when in the emulator”, 緊接著是 #if 1 … #endif 代碼塊。
它讀取 /proc/cmdline,

# cat /proc/cmdline ,模擬器上的值
qemu=1 console=ttyS0 android.checkjni=1 android.qemud=ttyS1 android.ndns=2

找到與字串“android.qemud“匹配的,則表示運行在模擬器上,會覆蓋ril系統設定,串連為模擬器準備的 /dev/socket/qemud

所以,在開發生產版本,要把 #if 1 修改為 #if 0, 或者在編譯kernel裡把產生的 /proc/cmdline 配置去掉android.qemud。

要調試 RIL,最好的方法就是開啟 radio的log:

$ adb logcat -b radio

最好加上 log文法亮度工具 coloredlogcat.py
,一些常見的LOG TAG要明白,他們是:

RIL: /hardware/ril/reference-ril/refereince-ril.c
AT: /hardware/ril/reference-ril/atchannel.c
RILD: /hardware/ril/rild/rild.c
RILC: /hardware/ril/libril/ril.cpp
RILB frameworks/base/telephony/java/com/android/internal/telephony/BaseCommands.java
RILJ: /frameworks/base/telephony/java/com/android/internal/telephony/gsm/RIL.java
GSM: /frameworks/base/telephony/java/com/android/internal/telephony/gsm/GSMPhone.java

如何在模擬器上外接 gsm modem?

請參考 http://i-miss-erin.blogspot.com/2009/09/android-emulator-external-gsm-modem.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.