1. 程式人生 > >android room定製常見需求或問題 一

android room定製常見需求或問題 一

1.關機工廠選單鍵測不過

檔案位置

device\sprd\scx20\********\rootdir\prodnv\PCBA.conf

程式碼位置

#please refer to the /bionic/libc/kernel/uapi/linux/input.h

key        Menu        0

參照bionic/libc/kernel/uapi/linux/input.h

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

#define KEY_MENU 139

將keyMenu值設定成 key        Menu        139
 

2.點選緊急電話撥號盤出現112

1.找到緊急撥號介面類名

   adb shell dumpsys activity | findstr "mFocus"

結果: mFocusedActivity: ActivityRecord{411aed2 u0 com.android.phone/.EmergencyDialer

t9} mFocusedStack=ActivityStack{dcfd51f stackId=2, 3 tasks} mLastFocusedStack=Acti

vityStack{dcfd51f stackId=2, 3 tasks}

2.找到類的具體位置

********$ find ./ -name "EmergencyDialer.java"

./packages/services/Telephony/src/com/android/phone/EmergencyDialer.java

3.新增巨集控,設定值

  EditText mDigits;

 

  if(OptConfig.*********){

              mDigits.setText("112");

    }

    Uri data = getIntent().getData();

    if (data != null && (PhoneAccount.SCHEME_TEL.equals(data.getScheme()))) {

           String number = PhoneNumberUtils.getNumberFromIntent(getIntent(), this);

            if (number != null) {

                mDigits.setText(number);

           }

       }

3.調整緊急撥號介面字母被遮住問題 

packages\services\Telephony\src\com\android\phone\EmergencyDialer.java

private EmergencyActionGroup mEmergencyActionGroup;

mEmergencyActionGroup = (EmergencyActionGroup) findViewById(R.id.emergency_action_group);

 

查詢emergency_action_group在哪個資料夾

**********$ grep -rnws "emergency_action_group"  packages/services/Telephony/  --include="*.xml"

packages/services/Telephony/res/layout/emergency_dialer.xml:38:                android:id="@+id/emergency_action_group"       

修改emergency_dialer.xml檔案

<com.android.phone.EmergencyActionGroup

                android:id="@+id/emergency_action_group"         

                android:layout_height="50dp"

                android:layout_width="match_parent"

                android:layout_marginTop="10dp"

                android:layout_marginBottom="15dp">

4.開機工廠不新增gps

1.找到開機工廠單項測試類名

C:\Users\Administrator>adb shell dumpsys activity | findstr "mFocus"

  mFocusedActivity: ActivityRecord{3bf755e u0 com.sprd.validationtools/.itemstes

t.ListItemTestActivity t85}

  mFocusedStack=ActivityStack{15d740a stackId=3, 2 tasks} mLastFocusedStack=Acti

vityStack{15d740a stackId=3, 2 tasks}

2.找到類具體位置

************$ find ./ -name "ListItemTestActivity.java"

./packages/apps/ValidationTools/src/com/sprd/validationtools/itemstest/ListItemTestActivity.java

3.在ListItemTestActivity.java找到佈局檔案

public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_validation_tools_main);

}

4.找到activity_validation_tools_main.xml位置

***********$ find packages/apps/ValidationTools/  -name "activity_validation_tools_main.xml"

packages/apps/ValidationTools/res/layout/activity_validation_tools_main.xml

5.在activity_validation_tools_main.xml檔案裡找到提供列表內容的類ValidationToolsMainActivity.java

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android

rientation="vertical"

    tools:context=".ValidationToolsMainActivity" >

 

6.找到ValidationToolsMainActivity.java檔案位置

****************$ find packages/apps/ValidationTools/   -name "ValidationToolsMainActivity.java"

./packages/apps/ValidationTools/src/com/sprd/validationtools/ValidationToolsMainActivity.java

 

7.在ValidationToolsMainActivity.java裡找到載入gps程式碼位置

private void startBackgroundTest() {

        mBgTest = new ArrayList<BackgroundTest>();

        mBgTest.add(new BackgroundBtTest(this));

        mBgTest.add(new BackgroundWifiTest(this));

        if (!OptConfig.*************){

            mBgTest.add(new BackgroundGpsTest(this));

        }

}

5.設定藍芽,wifi,gps的預設開啟與關閉 

配置檔案位置:frameworks/base/packages/SettingsProvider/res/values/defaults.xml

bluetooth:<bool name="def_bluetooth_on">false</bool>

wifi:<bool name="def_wifi_on">false</bool>

gps:<string name="def_location_providers_allowed" translatable="false"></string>

 

6.通過adb命令檢視藍芽的預設值
 

測試藍芽的預設值步驟

                             1.adb shell 

                             2.cd data/system

                             3.cd users

                             4. cd 0

                             5.grep -rn bluetiith_on ./

                             6.結果顯示:./settings_global.xml:15:<setting id="101" name="bluetooth_on" value="0" package="android" />

7.谷歌軟體

在\vendor\google\products\gms.mk PRODUCT_PACKAGES後面跟著的就是要安裝的模組

觀察\vendor\partner_gms\apps\GmsCore裡的 Android.mk 檔案

OCAL_PRIVILEGED_MODULE := true

這個設定表示,GmsCore模組裝入system/priv-app

如果沒有這個設定,模組會裝入system/app

8.LCD亮度預設在70%,

/*(mtk)

修改wifi,gps,Bluetooth 預設關閉Z:\eng\*************\frameworks\base\packages\SettingsProvider\res\values\default.xml

 

9.修改休眠時間

Z:\eng\************\frameworks\base\packages\SettingsProvider\res\values\default.xml   

10.來電音量

Z:\eng\*************\frameworks\base\media\java\android\media\AudioSystem.java DEFAULT_STREAM_VOLUME

def_screen_off_timeout

11.進入開機工廠指令修改:

/device/sprd/scx35/*********/overlay/packages/apps/Dialer/res/values/strings.xml

<string name="open_factoryTest" translatable="false">*#8888#</string>(工廠測試)

<string name="open_engineerMode" translatable="false">*#*#8838#*#*</string>(工程測試)

12.(展訊)

 

開關機鈴聲 路徑 /vendor/sunvov/****/media/animations_sounds/shutanimation.zip

開關機圖片 路徑 /vendor/mediatek/proprietary/bootable/bootloader/lk/dev/logo/cmcc_hd720/cmcc_hd720_kernel.bmp

開關機動畫在 out\target\product\****\system\media\bootanimation.zip (bootanimation.zip裡的desc.txt檔案)

\shutanimation.zip
開關機圖片 versionTools\image\

goole商店圖示 \packages\apps\SprdLauncher\res\drawable\google_vending.png(packages\apps\SprdLauncher\res\values\array_sunvov.xml)(<string-array name = "app_package">(加這個用別的圖示) </string-array>)


背景圖片對應的編的包 out\target\product\****\obj\APPS\res...
背景圖片所在路徑 \frameworks\base\core\res\res\drawable-nodpi\default_wallpaper.jpg(預設在這,其它的在Launcher3下)cpu頻率和HZ packages/apps/Settings/res/values/strings.xml(CPU_frequency_valu

谷歌應用商店 vendor\google\products\gms.mk GmsCore(谷歌應用商店 )

雙擊home進入最近訪問記錄:device\sprd\scx20\******\overlay\frameworks\base\core\res\res\values\config.xml (<integer name="config_doubleTapOnHomeBehavior">1</integer>)

自動亮度 device/sprd/scx20/******/overlay/frameworks/base/core/res/res/values/config.xml ( <bool name="config_automatic_brightness_available">false</bool>)

新增電話記錄圖示 /packages/apps/Dialer/res/mipmap-hdpi/ic_luncher_calllog_ex.png(mipmap-hdpi,mipmap-mdpi,mipmap-xdpi,mipmap-xxdpi,mipmap-xxxdpi都要對應大小的圖片)

 

新增視訊圖示 /packages/apps/Gallery2/res/drawable-hdpi/icon_video.png(drawable-hdpi,drawable-mdpi,drawable-xhdpi各種大小的都要新增)

螢幕亮度預設最高 /device/sprd/scx20/***********/overlay/frameworks/base/core/res/res/values/config.xml( <integer name="config_screenBrightnessSettingDefault">255</integer>)

修改wifi直連的名稱 /frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java (wifi_device_name = "***************";)

固定窄屏桌布 packages\apps\Launcher3\src\com\android\launcher3\uti\WallpaperUtils.java(public static Point getDefaultWallpaperSize(Resources res, WindowManager windowManager){....defaultWidth = 480;....})

去掉第三方應用

/vendor/sunvov/***/media/Mediafiles.mk

# PRODUCT_PACKAGES += Facebook \

# Whatsapp \

# Youtube