android 4.0在使用的过程中会时不时的出现红色边框,网上有人说在系统设置<>开发人员选项<>严格模式已启用的勾去掉,还有人说在Dev tools<>Development settings<>StrictMode visual indicate改成off,我试过都不行,我想在编译源码的时候应该有关闭这个功能的选项,请问有没有人改过这个地方,请不吝赐教!多谢!

解决方案 »

  1.   

    我怀疑是4.0.3的BUG,4.0.1没有见过这个现象
      

  2.   

    对楼主的行为表示强烈的BS,有啥了不起的阿!这么一个小破问题。
    5楼我告诉你:
    这个应该是Android 3.0/4.0对于多平台开发中引入的一个bug.可以通过console或者adb中设置下列属性去Disable
    setprop persist.sys.strictmode.visual 0        (针对3.0)
    setprop persist.sys.strictmode.disable 1        (针对4.0)以下帖子中有详细讨论,
    http://groups.google.com/group/android-x86/browse_thread/thread/c61531cc5e244e35/9f3d785ff7b5c87f
      

  3.   

    我刚买的one V 也出现这种情况,看不明白这意思,可以流程教一下吗?谢谢
      

  4.   

    看不明白!可以详细叫一下吗?我的one V也出现了这种情况!
      

  5.   

    许久没来,这么多人骂我!其实这个红框不是4.0的bug,把编译模式从eng改成user就可以了,红框只是eng模式debug的时候提示你系统busy,这个时候系统可能会挂掉,仅此而已!你可以直接adb shell在system/build.prop里修改模式,改完了重启就能看到效果,或者在源码android/build下面把编译模式改成user,最彻底的是直接在编译android的时候就用user模式,这样可能会有一些权限问题,编译出来的系统和eng差别比较大,需要自己拷贝一些权限类文件,就是permission啥的这个问题我也是用google搜索android red frame才知道怎么回事的,百度...还是算了吧!
      

  6.   

    装一个adb 工具,用eclipse 开发安卓的兄弟应该有这个环境。进入命令行。
    进行如下操作。1、获得root权限:adb root2、设置/system为可读写:adb remount3、将hosts文件复制到PC:adb pull /system/etc/hosts d:/build.prop4、修改PC机上文件
    false 改成0,true 改成false
    persist.sys.strictmode.visual=0 
    persist.sys.strictmode.disable=15、将PC机上文件复制到手机:adb push d:/build.prop /system/etc/hosts如果要查看是否修改成功,可以在PC上执行adb shell,运行cat /system/etc/hosts;或者在手机上运行cat /system/etc/hosts。6.重启
      

  7.   

    补充一点,如果在代码中使用api 11引入的严格模式的话,在界面可能卡顿的时候也会出现红色边框:
        @TargetApi(11)
        public static void enableStrictMode() {
            if (Utils.hasGingerbread()) {
                StrictMode.ThreadPolicy.Builder threadPolicyBuilder =
                        new StrictMode.ThreadPolicy.Builder()
                                .detectAll()
                                .penaltyLog();
                StrictMode.VmPolicy.Builder vmPolicyBuilder =
                        new StrictMode.VmPolicy.Builder()
                                .detectAll()
                                .penaltyLog();            if (Utils.hasHoneycomb()) {
                    threadPolicyBuilder.penaltyFlashScreen();
                    vmPolicyBuilder
                            .setClassInstanceLimit(MainActivity.class, 1);
                }
                StrictMode.setThreadPolicy(threadPolicyBuilder.build());
                StrictMode.setVmPolicy(vmPolicyBuilder.build());
            }
        }