全志A63_SDK_User_Manual,全志A63_Android N快速移植手册

为了快速移植及配置全志A63平台方案,可以参照文档中的一些配置项进行简单的定制化修改。实现快速移植方案。

 

2. 方案定制

方案目录 device/vendor‐name/device‐name/

2.1.overlay 说明

Android overlay 机制允许在不修改 apk 或者 framework 源代码的情况下,实现资源的定制。

以下几类能够通过 overlay 机制定义:

1. Configurations (string, bool, bool‐array)

2. Localization (string, string‐array)

3. UI Appearance (color, drawable, layout, style, theme, animation)

4. Raw resources (audio, video, xml)

 

2.1.1. 为产品添加 Overlay 目录

有两种不同的 overlay 目录定义:

1. PRODUCT_PACKAGE_OVERLAYS

用于指定产品

2. DEVICE_PACKAGE_OVERLAYS

用于同一设备模型的一系列产品

如果包含同一资源,那么 PRODUCT_PACKAGE_OVERLAYS 将覆盖 DEVICE_PACKAGE_OVERLAYS 。

如果要定义多个 overlays 目录,需要用空格隔开,同一资源的定义,将使用先定义的目录中的资源。

在方案目录下创建 overlay 和 product‐name/overlay 目录,分别用于 device 通用及 product 使用的 overlay 文件夹。

 

2.1.2. 改变 mk 文件来添加 overlays 的编译项

在文件 device/vendor‐name/device‐name/product‐name.mk 中添加:

PRODUCT_PACKAGE_OVERLAYS := \

device/vendor‐name/device‐name/product‐name/overlay \

$(PRODUCT_PACKAGE_OVERLAYS)

DEVICE_PACKAGE_OVERLAYS := \

device/vendor‐name/device‐name/overlay \

$(DEVICE_PACKAGE_OVERLAYS)

注:必须加上$(PRODUCT_PACKAGE_OVERLAYS)变量否则将找不到默认资源。

2.1.3. 在 overlay 目录下创建资源文件
在 overlay 目录下创建和要替换资源所在文件相同的路径的文件,此路径是相对于 android
platform 目录。如替换 framework‐res 路径为:platform/framework/base/core/res/res/value/config.xml
中的某一项,则在 overlay 中创建对应的路径:overlay/framework/base/core/res/res/value/config.xml
并添加要修改的一向配置,如:

<?xml version="1.0" encoding="utf‐8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<integer name="config_multiuserMaximumUsers">4</integer>
</resources>

2.2.预装 APK
预装 apk 安装有两种方法,可以安装到 system/app 目录下,也可以安装到 system/preinstall 目录下。
注:apk 名字不能含有中文、空格等特殊字符。

2.2.1. 默认预装 APK
由于涉及版权问题,建议不安装 GAPP 应用。若通过 GMS 认证需安装 Google 提供的正版 GAPP应用。

2.2.2. 预装到 system/app 目录
1. 在目录 vendor/aw/public/prebuild/apk/中创建一个目录存放对应 APK。
2. 将 apk 放入该目录中。
3. 在该目录中创建 Android.mk 文件,并编辑:

# Example
LOCAL_PATH := $(call my‐dir)
include $(CLEAR_VARS)
LOCAL_MODULE := APK_MODULE_NAME(模块的唯一名字)
LOCAL_MODULE_CLASS := APPS

LOCAL_MODULE_TAGS := optional
LOCAL_BUILT_MODULE_STEM := package.apk
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := PRESIGNED(签名方式)
#LOCAL_OVERRIDES_PACKAGES := OVERRIDES_MODULE(要替代的模块)
LOCAL_SRC_FILES := name.apk(apk 的文件名,一般与 MODULE 同名)
include $(BUILD_PREBUILT)

4. 在方案 mk 文件(device/vendor‐name/device‐name/product‐name.mk)中 PRODUCT_PACKAGES

中加入:

PRODUCT_PACKAGES += APK_MODULE_NAMEapk 模块名字,预装多个 apk 用空格隔开)

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值