1.修改蓝牙为从端 

device/qcom/msmxxx/system.prop//设置成从模式persist.service.bt.a2dp.sink=truepersist.service.bt.hfp.client=true
device/qcom/msmxxx/overlay/packages/apps/Bluetooth/res/values/config.xml<?xml version="1.0" encoding="utf-8"?>      true     true     true     true 

2.修改默认的睡眠超时和屏幕关闭超时 

device/qcom/msmxxx/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml    2147483647    2147483647

3.配置液晶屏密度

device/qcom/common/rootdir/etc/init.qcom.early_boot.shfunction set_density_by_fb() {    #put default density based on width    if [ -z $fb_width ]; then        setprop ro.sf.lcd_density 320    else        if [ $fb_width -ge 1920 ]; then           setprop ro.sf.lcd_density 320 # 1920x1080        elif [ $fb_width -ge 1080 ]; then           setprop ro.sf.lcd_density 480        elif [ $fb_width -ge 1024 ]; then           setprop ro.sf.lcd_density 160 # 1024x600        elif [ $fb_width -ge 720 ]; then           setprop ro.sf.lcd_density 320 #for 720X1280 resolution        elif [ $fb_width -ge 480 ]; then            setprop ro.sf.lcd_density 240 #for 480X854  resolution        else            setprop ro.sf.lcd_density 160        fi    fi}

4.删除导航栏并锁定屏幕方向横向

device/qcom/msmxxx/overlay/frameworks/base/core/res/res/values/config.xml   false   false
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java //addNavigationBar();frameworks/base/services/core/java/com/android/server/wm/WindowManagerService.javaboolean updateOrientationFromAppTokensLocked(boolean inTransaction) {    .    .........            //int req = getOrientationLocked();         int req = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;        .............}

5.删除no_sim和new_sim对话框

vendor/qcom/proprietary/qrdplus/Extension/apps/PhoneFeatures/res/values/configs.xml falsefalse

6.adb设备序列号为空

kernel/msm-3.18/drivers/usb/gadget/android.c// #if defined(CONFIG_DEBUG_ATOMIC_SLEEP)//    id=0;// #else     id = usb_string_id(cdev);// #endif

7.增加自定义系统按键

device/qcom/common/base.mkKEYPAD += aaaaa.kldevice/qcom/msm8953_64/AndroidBoard.mkinclude $(CLEAR_VARS)LOCAL_MODULE       := aaaaa.klLOCAL_MODULE_TAGS  := optional engLOCAL_MODULE_CLASS := ETCLOCAL_SRC_FILES    := $(LOCAL_MODULE)LOCAL_MODULE_PATH  := $(TARGET_OUT_KEYLAYOUT)include $(BUILD_PREBUILT)device/qcom/msmxxx/aaaaa.klkey 0x17b   BACK_CAMERAkey 0x21e   ILL_LIGHTkey 0x74    POWER
frameworks/native/include/input/InputEventLabels.h        DEFINE_KEYCODE(BACK_CAMERA),    DEFINE_KEYCODE(ILL_LIGHT),frameworks/native/include/android/keycodes.h    AKEYCODE_BACK_CAMERA = 284,    AKEYCODE_ILL_LIGHT = 285frameworks/base/core/res/res/xml/global_keys.xml frameworks/base/core/res/res/values/attrs.xml      frameworks/base/core/java/android/view/KeyEvent.java   public static final int KEYCODE_BACK_CAMERA = 284;   public static final int KEYCODE_ILL_LIGHT = 285;   //private static final int LAST_KEYCODE = KEYCODE_SYSTEM_NAVIGATION_RIGHT;    private static final int LAST_KEYCODE = KEYCODE_ILL_LIGHT;    case KeyEvent.KEYCODE_BACK_CAMERA:    case KeyEvent.KEYCODE_ILL_LIGHT:

8. user  支持 fastboot

bootable/bootloader/lk/makefile#ifeq ($(TARGET_BUILD_VARIANT),user)#  CFLAGS += -DDISABLE_FASTBOOT_CMDS=1#endif

9.修改Telephony.getDeviceId 返回IMEI

frameworks/base/telephony/java/android/telephony/TelephonyManager.java    /*public String getDeviceId(int slotId) {        android.util.SeempLog.record_str(8, ""+slotId);        // FIXME this assumes phoneId == slotId        try {            IPhoneSubInfo info = getSubscriberInfo();            if (info == null)                return null;            return info.getDeviceIdForPhone(slotId, mContext.getOpPackageName());        } catch (RemoteException ex) {            return null;        } catch (NullPointerException ex) {            return null;        }    }*/    public String getDeviceId(int slotId) {        ITelephony telephony = getITelephony();        if (telephony == null) return null;        try {            return telephony.getImeiForSlot(slotId, getOpPackageName());        } catch (RemoteException ex) {            return null;        } catch (NullPointerException ex) {            return null;        }    }

10.修改开机提示无网络问题 或者网络图标问题

frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java    //private static final String DEFAULT_HTTPS_URL     = "https://www.google.com/generate_204";    //private static final String DEFAULT_HTTP_URL      =    //        "http://connectivitycheck.gstatic.com/generate_204";    //private static final String DEFAULT_FALLBACK_URL  = "http://www.google.com/gen_204";    private static final String DEFAULT_HTTPS_URL     = "https://www.qualcomm.cn/generate_204";    private static final String DEFAULT_HTTP_URL      =              "http://www.qualcomm.cn/generate_204";    private static final String DEFAULT_FALLBACK_URL  = "http://www.qualcomm.cn/generate_204";

11 .删除检查com.google.android.gms

frameworks/base/services/core/java/com/android/server/PersistentDataBlockService.java  private int getAllowedUid(int userHandle) {        //String allowedPackage = mContext.getResources()        //        .getString(R.string.config_persistentDataPackageName);        //PackageManager pm = mContext.getPackageManager();        int allowedUid = -1;        /*try {            allowedUid = pm.getPackageUidAsUser(allowedPackage,                    PackageManager.MATCH_SYSTEM_ONLY, userHandle);        } catch (PackageManager.NameNotFoundException e) {            // not expected            Slog.e(TAG, "not able to find package " + allowedPackage, e);        }*/        return allowedUid;    }

11 .在启动时启动警告消息服务

packages/apps/Settings/src/com/android/settings/FallbackHome.java    private void maybeFinish() {        if (getSystemService(UserManager.class).isUserUnlocked()) {            final Intent homeIntent = new Intent(Intent.ACTION_MAIN)                    .addCategory(Intent.CATEGORY_HOME);            final ResolveInfo homeInfo = getPackageManager().resolveActivity(homeIntent, 0);            if (Objects.equals(getPackageName(), homeInfo.activityInfo.packageName)) {                Log.d(TAG, "User unlocked but no home; let's hope someone enables one soon?");                mHandler.sendEmptyMessageDelayed(0, 500);            } else {                Log.d(TAG, "User unlocked and real home found; let's go!");                               //add code                                Intent warningIntent = new Intent();                warningIntent.setPackage("com.pvetec.warningmessage");                warningIntent.setAction("pvetec.intent.action.boot.disclaimer.service.start");                startService(warningIntent);               //add code                getSystemService(PowerManager.class).userActivity(                        SystemClock.uptimeMillis(), false);                finish();            }        }    

12 .用emmc和usbotg挂载路径

system/vold/PublicVolume.cpp    idx = msyspath.find("2-1.2");    if(idx == std::string::npos){    } else {        stableName = "usbotg-2-1.2";    }    idx = msyspath.find("mmc1:0002");    if(idx == std::string::npos){    } else {        stableName = "mmc1-0002";    }

13 .usb3.0和usb2.0设备安装路径

system/vold/PublicVolume.cpp  idx = msyspath.find("xhci-hcd.0.auto/usb");    if(idx == std::string::npos){    } else {        stableName = "usbotg-2-1.2";    }    idx = msyspath.find("mmc1:");    if(idx == std::string::npos){    } else {        stableName = "mmc1-0002";    }

 

 

 

 

 

 

 

 

更多相关文章

  1. Android(安卓)获取内部存储、内置SD卡、外置SD卡路径
  2. android 设置字体
  3. Android(安卓)4.0 截屏(Screenshot)代码流程小结
  4. UE4填坑记之——Android打包报错
  5. android studio使用volley发送post和get请求
  6. android画笔错位问题的解决
  7. 自动编译 打包 签名 android程序
  8. Arouter异常汇总
  9. Android学习笔记(3)——Android(安卓)Demo演示

随机推荐

  1. 使用ScrollView实现滚动效果
  2. android 微信分享大坑总结
  3. 网络请求测试之HttpUrlConnection【Andro
  4. Android(安卓)View的onTouch和onClick和o
  5. Android自定义Layout
  6. android 自定义View的属性
  7. android 键盘弹出,布局重绘
  8. android基础知识05:四大组件之Broadcast R
  9. Android信息界面编辑及组合控件的封装
  10. android Intent的常用flags