Android 系统中裁剪apk

一、环境

高通865 Android 10

二、裁剪apk

在配置文件(.mk),中删除不要的项目,这样编译的时候就不会编译这部分项目。然后在out\文件中找到已经编译好的APK,将其删除,这样APK就不会打包到image中。如果想彻底删除,可以在源码目录下,把对应的源码也删除了(一般不建议)。

例如:去掉拨号apk,应用名为Dialer,在mk文件中直接去除

1、在在mk文件中去除Dialer

博主这边的mk文件是build/make/target/product/handheld_product.mk

PRODUCT_PACKAGES += \
    Browser2 \
    Calendar \
    Camera2 \
    Contacts \
    DeskClock \
    Gallery2 \
    LatinIME \
    Launcher3QuickStep \
    Music \
    OneTimeInitializer \
    Provision \
    QuickSearchBox \
    Settings \
    SettingsIntelligence \
    StorageManager \
    SystemUI \
    Email \
    Dialer \ 
    WallpaperCropper \
    frameworks-base-overlays

PRODUCT_PACKAGES_DEBUG += \
    frameworks-base-overlays-debug

2、如果有设置白名单,在白名单中也去除Dialer(如果没有可以忽略)

device/qcom/kona/apps_white_list.txt

ExtShared
CertInstaller
MediaProvider
SettingsProvider
Provision
SystemUI
InputDevices
Settings
PackageInstaller
SharedStorageBackup
DefaultContainerService
ExtServices
Shell
ExternalStorageProvider
StorageManager
DocumentsUI
Launcher3QuickStep
DownloadProvider
DownloadProviderUi
PermissionController
PlatformNetworkPermissionConfig
PlatformCaptivePortalLogin
InProcessNetworkStack
webview
ModuleMetadata
PrintSpooler
UserDictionaryProvider
NetworkSetting
TelephonyProvider
qcrilmsgtunnel
OsuLogin
tslogger
FusedLocation
VpnDialogs
Dialer

device/qcom/kona/apps_white_list.txt

ExtShared
CertInstaller
MediaProvider
SettingsProvider
Provision
SystemUI
InputDevices
Settings
PackageInstaller
SharedStorageBackup
DefaultContainerService
ExtServices
Shell
ExternalStorageProvider
StorageManager
DocumentsUI
Launcher3QuickStep
DownloadProvider
DownloadProviderUi
PermissionController
PlatformNetworkPermissionConfig
PlatformCaptivePortalLogin
InProcessNetworkStack
webview
ModuleMetadata
PrintSpooler
UserDictionaryProvider
NetworkSetting
TelephonyProvider
qcrilmsgtunnel
OsuLogin
tslogger
VpnDialogs
Dialer

三、编译,验证系统中是否有去除对应的apk

1、可以查看当前安装的所有apk验证

pm list packages

2、刷系统验证

裁剪前后对照图如下:

 

 注:编译生成的apk一般在如下目录

out\target\product\qssi\obj\PACKAGING\target_files_intermediates\qssi-target_files-eng.xxx\PRODUCT\priv-app
out\target\product\qssi\product\priv-app

新增和裁剪原理相同,在上面的配置文件中新增即可

猜你喜欢

转载自blog.csdn.net/banzhuantuqiang/article/details/131521025