梦书之家(移动开发)

你有一个苹果,我有一个苹果,我们交换一下,一人还是一个苹果;你有一个思想,我有一个思想,我们交换一下,一人就有两个思想。 ——肖伯纳

导航

红米手机联机调试

后记:从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的版本(在 设置 ---> 关于 里面),就能将开发者设置选项显示出来。

posted on 2013-09-27 14:54  梦书  阅读(4755)  评论(0编辑  收藏  举报