Android系统预装Chrome并自定义主页
发布日期:2021-06-29 13:07:48 浏览次数:2 分类:技术文章

本文共 3434 字,大约阅读时间需要 11 分钟。

网上有说必须加 GMS 框架后才能生效,我这里验证的是不需要,将 GMS 包中的 Chrome.apk 和 TrichromeLibrary.apk 拷贝出来

在 package/apps 目录下新建 Chrome 文件夹,将俩 apk 拷贝至此出,新建 Android.mk

packages\apps\Chrome\Android.mk

################################################################################ ChromeLOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := ChromeLOCAL_MODULE_TAGS := optionalLOCAL_PRODUCT_MODULE := trueLOCAL_SRC_FILES := $(LOCAL_MODULE).apkLOCAL_OVERRIDES_PACKAGES := Browser Browser2 MtkBrowser MtkBrowserAutoTests BrowserSanityTestLOCAL_REQUIRED_MODULES := TrichromeLibrary BookmarkProvider PartnerBookmarksProviderLOCAL_MULTILIB := bothLOCAL_MODULE_CLASS := APPSLOCAL_DEX_PREOPT := falseLOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)LOCAL_CERTIFICATE := PRESIGNEDinclude $(BUILD_PREBUILT)include $(CLEAR_VARS)LOCAL_MODULE := TrichromeLibraryLOCAL_MODULE_TAGS := optionalLOCAL_PRODUCT_MODULE := trueLOCAL_SRC_FILES := $(LOCAL_MODULE).apkLOCAL_MULTILIB := bothLOCAL_MODULE_CLASS := APPSLOCAL_DEX_PREOPT := falseLOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)LOCAL_CERTIFICATE := PRESIGNEDinclude $(BUILD_PREBUILT)

在 core.mk 或者 handheld_system.mk 中添加 Chrome 、 TrichromeLibrary 编译,这样预装就搞定了。

接下来修改默认主页面

在 PartnerBookmarksProvider 下新建 PartnerHomepageProvider.java,其中的 HOMEPAGE_URI 就是默认主页

alps\packages\providers\PartnerBookmarksProvider\src\com\android\providers\partnerbookmarks\PartnerHomepageProvider.java

package com.android.providers.partnerbookmarks;import android.content.ContentProvider;import android.content.ContentValues;import android.content.UriMatcher;import android.database.Cursor;import android.database.MatrixCursor;import android.net.Uri;public class PartnerHomepageProvider extends ContentProvider {
private static String HOMEPAGE_URI = "https://www.cisco.com"; private static final int URI_MATCH_HOMEPAGE = 0; private static final UriMatcher URI_MATCHER = new UriMatcher(UriMatcher.NO_MATCH); static {
URI_MATCHER.addURI("com.android.partnerbrowsercustomizations", "homepage", URI_MATCH_HOMEPAGE); } @Override public boolean onCreate() {
return true; } @Override public String getType(Uri uri) {
switch (URI_MATCHER.match(uri)) {
case URI_MATCH_HOMEPAGE: return "vnd.android.cursor.item/partnerhomepage"; default: return null; } } @Override public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
switch (URI_MATCHER.match(uri)) {
case URI_MATCH_HOMEPAGE: MatrixCursor cursor = new MatrixCursor(new String[] {
"homepage" }, 1); cursor.addRow(new Object[] {
HOMEPAGE_URI }); return cursor; default: return null; } } @Override public Uri insert(Uri uri, ContentValues values) {
throw new UnsupportedOperationException(); } @Override public int delete(Uri uri, String selection, String[] selectionArgs) {
throw new UnsupportedOperationException(); } @Override public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
throw new UnsupportedOperationException(); }}

配置 provider 使它能够被 Chrome apk 访问到。重新编译大功告成。

alps\packages\providers\PartnerBookmarksProvider\AndroidManifest.xml

转载地址:https://cczheng.blog.csdn.net/article/details/117159169 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Android11 强制所有APP 横屏显示
下一篇:AndroidQ(10.0) MTK平台添加新分区

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月29日 18时31分23秒