原创 設計模式之總序

概述 模式是特定環境下人們解決某類重複出現問題的一套成功或有效的解決方案。 軟件模式是將模式的一般概念應用於軟件開發領域,即軟件開發的總體指導思想或參照樣板。軟件模式並非僅限於設計模式,還包括架構模式、分析模式和過程模式等。 設計

原创 Android ViewBinding 替換 findViewById 的神器

ViewBinding中文官網 ViewBinding 的出現就是爲了替代 findViewById 的。以前我們寫完佈局後就要在代碼中使用 findViewById 方法找到 xml 文件中對應的 view ,這樣耗時費力,還有

原创 Android 9.0 System.getProperty("java.library.path") 源碼解析

本文將一步步解析 System.getProperty("java.library.path") 在 Android 9.0 中的源碼實現。話不多說開幹。 源碼分析 首先,來分析下 System.getProperty() 函數的

原创 Android 9.0 System.loadLibrary 的源碼解析

本文主要講解下Android 9.0 System.loadLibrary 的源碼實現。 源碼分析 libcore/ojluni/src/main/java/java/lang/System.java public static

原创 AndroidStudio 添加系統簽名

在做 Android 系統定製時,開發自家的 APP,可能會需要使用到一些特殊的權限,系統相關的 API 等等。因此,APP 自身需要有系統簽名才能使用這些權限和 API。那我們要怎麼獲取系統簽名,並給 APP 簽上系統簽名呢?下

原创 獲取 Android 設備 屏幕,內存,存儲大小

獲取內存總大小 ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); ActivityManager.

原创 AndroidStudio 導入 framework.jar 並優先使用其提供的API

第一步: 將編譯好的framework.jar(out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar)拷貝到 AndroidStudio

原创 SVN 命令方式批量添加和刪除文件

使用SVN管理代碼時,我們在linux環境下提交代碼遇到大量的文件增加刪除時使用命令的方式去提交代碼非常痛苦,下面通過組合命令的方式解決了一個個提交命令的繁瑣。 SVN 批量添加文件: svn st | awk '{if ($1

原创 Android WindManager Addview 監聽按鍵事件

監聽 Home,Menu 按鍵的廣播 IntentFilter filter = new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS); mContext.registerRec

原创 Android快速編譯燒錄system.img的方法

快速編譯 system.img 分別執行下面3條指令。編譯命令如下: . build/envsetup.sh lunch make systemimage -j8 編譯生成後的 system.img 路徑 out/target/