参考:
AssetManager::addOverlayPath
idmapPathForPackagePath
openAssetFromFileLocked
appendPathToResTable
openIdmapLocked
openAssetFromFileLocked
ResTable::add
addInternal
parsePackage
parseIdmap
资源映射底层库 idmap_jni
aapt dump resources GstMediaPlayer.apk |
基于 tv-n55 编译,在 Android 4.4 不能跑,切换到 tv-43p 环境
C库的 strtof 没有,atof 也没有,使用 strtod 代替
__read_chk 没有,可能需要切换到 box-4k 编译
__read_chk 重写了,没有其他问题了,在 tv-43p 编译
资源覆盖上下文组件
Java流程第一步调通
TargetResources
OverlayResources
只覆盖 getValue 不行
背景图片不能替换
public View(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
this(context);
final TypedArray a = context.obtainStyledAttributes(
attrs, com.android.internal.R.styleable.View, defStyleAttr, defStyleRes);
background = a.getDrawable(attr);
style里面引用的资源不能替换,准备用 Factory 来实现替换
快速替换皮肤(无须重建View)
1、保存view弱引用
2、layout归类
3、layout id 加速查找