靜態與動態apk overlay 機制

2021-07-31 22:23:20 字數 2014 閱讀 9854

android overlay 機制允許在不修改

packages

中apk

的情況下,來自定義 

framework

和package

中的資源檔案,實現資源的定製。來達到顯示不同的

ui得目的(如

miui

)。以下幾類能夠通過該機制定義:

(1),

configurations (string, bool, bool-array)

(2),

localization (string, string-array)

(3),

(4),

raw resources (audio, video, xml)

有兩種不同的overaly

目錄定義,來影響最終的效果:

product_package_overlays: 用於特定的產品

device_package_overlays: 多種產品共用

如果這兩個目錄下包含同一資源,那麼 product_package_overlays 

將覆蓋 

device_package_overlays 中的

android.mk 中資源目錄為

所以local_resource_dir 

下的內容均可以定製。

現在要定製一下布局

1:建立

overlay 目錄

2:將對應定製布局

放入對應

overlay

目錄即可

下字串

將sim2 ringtone

定製為ovelay sim2 ringtone

增加new add

1:建立

overlay目錄

2:建立

strings.xml

檔案並新增一下內容

<?xml version="1.0" encoding="utf-8"?>

"ovelay sim2 ringtone"

"new add"

以settings apk 為例子

android.mk 檔案

local_path := $(call my-dir)

include $(clear_vars)  

local_module_tags := optional

#include files in res diretory

local_resource_dir := $(local_path)/res  

local_sdk_version = current

local_certificate := platform

local_privileged_module := true

#the name of target apk 

local_package_name := settingsoverlay

include $(build_package)

androidmanifest.xml 檔案

第三方apk 編譯指令碼

在overlay apk下定製,只需要保證 資源id 名字與三方apk 名字一樣即可,並將編譯生成的overlay apk push 到手機/vendor/overlay 或/system//vendor/overlay 下,

local_certificate := platform  簽名需要一致。

靜態與動態

靜態與動態 書中所提解決方案普遍有兩種假設 1 前提條件都是理想情況。在之前的 篩選 中有詳述。2 假設相關因素為靜態。比如一些表演格鬥術者,演示的時候,讓助手按他指定方向攻擊,然後再做反擊。關於第一點,不再贅述,今天主要講第2點。分析問題,首先對現在事物,先分析其存在之合理性。但凡著書者,表演者,...

認識靜態與動態游標

背景 靜態 static 游標建立將由該游標使用的資料的臨時複本。對游標的所有請求都從 tempdb 中的這一臨時表中得到應答 因此,在對該游標進行提取操作時返回的資料中不反映對基表所做的修改,並且該游標不允許修改 動態 dynamic 游標會反映在滾動游標時對結果集內的各行所做的所有資料更改。行的...

認識靜態與動態游標

背景 靜態 static 游標建立將由該游標使用的資料的臨時複本。對游標的所有請求都從 tempdb 中的這一臨時表中得到應答 因此,在對該游標進行提取操作時返回的資料中不反映對基表所做的修改,並且該游標不允許修改 動態 dynamic 游標會反映在滾動游標時對結果集內的各行所做的所有資料更改。行的...