紅米手機聯機除錯

夢書發表於2013-09-27

後記:從2013年10月18日開始,MIUI終於將紅米的開發板開放出來了,這樣就可以忽略以下的步驟了!直接刷個開發板的,但是在PC端輸入:adb root,有些問題,就是這個命名執行了很久都沒有退出,此時拔掉USB,重新連上,再次輸入:adb remount,就可以看到remount success了,說明之前的root成功了。

2013年中秋前搶了個紅米手機,今天要除錯一個APP(安裝可以考慮採用U盤模式,先COPY過去,然後通過檔案管理來點選安裝),發現紅米手機上的設定頁面,將“開發者選項”這個設定項給隱藏了(為什麼說隱藏了,因為小米的工程師也需要這個設定來除錯一個APP,如果去掉的話,會很麻煩,隱藏掉的話,版本控制起來比較方便些,當然也難保將來也有可能將其設定項的action給去掉),導致無法聯機除錯。檢視原始碼(android整個工程的原始碼,在/packages/apps/Settings下,檢視AndroidManimest.xml中找到如下的設定:

 

在關於裡面,連續點選三次 MIUI item就可以開啟“開發者設定”

 

        <activity android:name="Settings$DevelopmentSettingsActivity"
                android:label="@string/development_settings_title"
                android:clearTaskOnLaunch="true"
                android:parentActivityName="Settings">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <action android:name="android.settings.APPLICATION_DEVELOPMENT_SETTINGS" />
                <action android:name="com.android.settings.APPLICATION_DEVELOPMENT_SETTINGS" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                android:value="com.android.settings.DevelopmentSettings" />
            <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
                android:resource="@id/development_settings" />
        </activity>

BTW:可以去檢視資源中的/packages/apps/Settings/res/values-zh-rCN/strings.xml中搜尋"開發者".然後通過stringID,來搜尋AndroidManifest.xml檔案

),就可以通過action,將該設定頁面給顯示出來,呼叫程式碼如下:

Intent intent = new Intent("com.android.settings.APPLICATION_DEVELOPMENT_SETTINGS");
startActivity(intent);

很簡單不是。

BTW:要想聯機除錯,還需要

1.將USB聯機方式調整了:USB資料儲存,但不開啟

2.在Terminal中輸入lsusb,可以看到如下的選項:

Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 006: ID 2717:1228  
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
則紅色部分就是我們要的

3.將terminal中輸入:

>cd ~

>echo 0x2717 >> android_usb.ini

4.再次開啟“開發者設定選項”,先關閉“開啟開發者選項”,再開啟“開啟開發者選項”以及其下的“USB除錯”,此時會彈出“是否允許該機器。。。。”之類的提示,點選允許即可。

 

 注:紅米手機或者新版的MIUI V5,對所有的應用,開機自啟動是關閉的,需要自己手動去開啟:桌面=>系統與安全=》自啟動管理

 

後記:從2013年10月18日開始,MIUI終於將紅米的開發板開放出來了,這樣就可以忽略以上的步驟了!

 

其實所有的Android手機上,只要連續點選Android的版本(在 設定 ---> 關於 裡面),就能將開發者設定選項顯示出來。

相關文章