Android 亂七八糟的設置記錄

Android 亂七八糟的設置記錄

1、添加永不休眠

frameworks/base/packages/SettingsProvider/res/values/defaults.xml

<integer name="def_screen_off_timeout">0</integer> // 默認休眠時間設爲0

frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java

    private void updateLockScreenTimeout() {
        synchronized (mScreenLockTimeout) {
            boolean enable = (mAllowLockscreenWhenOn && mAwake &&
                    mKeyguardDelegate != null && mKeyguardDelegate.isSecure(mCurrentUserId));
            if (mLockScreenTimerActive != enable) {
                if (enable) {
                    if (localLOGV) Log.v(TAG, "setting lockscreen timer");
                    mHandler.removeCallbacks(mScreenLockTimeout); // remove any pending requests
                    if (mLockScreenTimeout != 0) { // 添加判斷,時間爲0則永不休眠,不爲0繼續執行
                        mHandler.postDelayed(mScreenLockTimeout, mLockScreenTimeout);
                    }
                } else {
                    if (localLOGV) Log.v(TAG, "clearing lockscreen timer");
                    mHandler.removeCallbacks(mScreenLockTimeout);
                }
                mLockScreenTimerActive = enable;
            }
        }
    }

frameworks/base/services/core/java/com/android/server/power/PowerManagerService.java

    private void updateUserActivitySummaryLocked(long now, int dirty) {
        // Update the status of the user activity timeout timer.
        if ((dirty & (DIRTY_WAKE_LOCKS | DIRTY_USER_ACTIVITY
                | DIRTY_WAKEFULNESS | DIRTY_SETTINGS)) != 0) {
            mHandler.removeMessages(MSG_USER_ACTIVITY_TIMEOUT);

            long nextTimeout = 0;
            if (mWakefulness == WAKEFULNESS_AWAKE
                    || mWakefulness == WAKEFULNESS_DREAMING
                    || mWakefulness == WAKEFULNESS_DOZING) {

                ......

                //  如果設置時間爲0,則跳過 {
                if (mScreenOffTimeoutSetting != 0) { // never screenOff
                    if (mUserActivitySummary != 0 && nextTimeout >= 0) {
                        Message msg = mHandler.obtainMessage(MSG_USER_ACTIVITY_TIMEOUT);
                        msg.setAsynchronous(true);
                        mHandler.sendMessageAtTime(msg, nextTimeout);
                    }
                } else {
                    mUserActivitySummary |= USER_ACTIVITY_SCREEN_BRIGHT;
                }
                // }
            } else {
                mUserActivitySummary = 0;
            }
            
            ......
        }
    }

packages/apps/Settings/res/values/arrays.xml

<string-array name="screen_timeout_entries">
    <!-- 設置中添加never選項 -->
    <item>never</item>

<string-array name="screen_timeout_values" translatable="false">
    <!-- 設置中添加nerver時間 0  -->
    <item>0</item>

2、刷完bootimage WIFI無法打開

相同環境下編譯 vendor/qcom/opensource/wlan/prima/ 目錄下代碼,生成 pronto_wlan.ko
push到機器 vendor/lib/modules/pronto/ 目錄即可

3、設置persist.sys屬性值

屬性值以persist.sys.開頭的屬於持久化的,即重啓後設置的值依然保存。需要系統權限,即使用系統簽名並在AndroidManifest.xml 聲明android:sharedUserId=“android.uid.system”

4、android 源碼網站

https://www.androidos.net.cn/sourcecode

5、fastboot 常見指令

fastboot erase system 擦除分區

fastboot getvar secure 查看是否secure boot簽名的

fastboot --set-active=a 設置A/B分區

6、簽名及查看簽名

java -jar signapk.jar testkey.x509.pem testkey.pk8 old.apk new.apk

keytool -printcert -file META-INF/CERT.RSA

7、Linux權限說明

權限說明(共十位):一些系統文件有權限限制,隨意push不同步修改還原權限會導致手機無法開機,例如build.prop文件
-rw-------
1位:d:文件夾
-:文件
2-4位:當前用戶權限
5-7位:當前用戶所在組權限
8-10位:其他用戶權限
權限都有三個二進制數字組成,代表不同的權限。
如:二進制110 —> rw- 轉換爲十進制爲6 代表rw-可讀可寫
  111 rwx 轉換爲十進制爲7 代表rwx可讀可寫可運行

chown root:shell xxx 修改文件用戶和組,僅限root用戶使用
chmod 0777 xxx 修改文件權限爲0777

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章