文章目录
- 编译完成
- 搜索输出文件
- Android.mk
- 配置gradle编译环境
- 报错一
- 报错二
- 报错三
- 输出文件
- 下载
- INSTALL_FAILED_TEST_ONLY
- 查找系统签名
- 查找签名工具
- 开始签名
- 查看签名
- 签名问题
- 重新生成秘钥解决方案
- 生成成功
- 挽救错误:重新刷机
- 更换testkey秘钥
- keystore
- 生成keystore
- INSTALL_FAILED_SHARED_USER_INCOMPATIBLE
- Launcer oncreate 启动异常
- 换个图标
- 最后附上一个build.gradle配置
make Launcher3
cd packages/apps/Launcher3
mm
mmm packages/apps/Launcher3
编译完成
搜索输出文件
find out -name "Launcher3.apk"
Android.mk
要想在AS上调试运行,我们先要看先需要导入那些依赖
LOCAL_PATH := $(call my-dir)#
# Build app code.
#
include $(CLEAR_VARS)LOCAL_MODULE_TAGS := optionalLOCAL_STATIC_JAVA_LIBRARIES := \android-support-v4 \android-support-v7-recyclerview \android-support-v7-paletteLOCAL_SRC_FILES := \$(call all-java-files-under, src) \$(call all-java-files-under, src_config) \$(call all-proto-files-under, protos)LOCAL_RESOURCE_DIR := \$(LOCAL_PATH)/res \prebuilts/sdk/current/support/v7/recyclerview/res \LOCAL_PROGUARD_FLAG_FILES := proguard.flagsLOCAL_PROTOC_OPTIMIZE_TYPE := nano
LOCAL_PROTOC_FLAGS := --proto_path=$(LOCAL_PATH)/protos/
LOCAL_PROTO_JAVA_OUTPUT_PARAMS := enum_style=javaLOCAL_AAPT_FLAGS := \--auto-add-overlay \--extra-packages android.support.v7.recyclerview \LOCAL_SDK_VERSION := current
LOCAL_MIN_SDK_VERSION := 21
LOCAL_PACKAGE_NAME := Launcher3
LOCAL_PRIVILEGED_MODULE := true
LOCAL_OVERRIDES_PACKAGES := Home Launcher2LOCAL_FULL_LIBS_MANIFEST_FILES := $(LOCAL_PATH)/AndroidManifest-common.xmlLOCAL_JACK_COVERAGE_INCLUDE_FILTER := com.android.launcher3.*include $(BUILD_PACKAGE)> 这里是引用#
# Launcher proto buffer jar used for development
#
include $(CLEAR_VARS)LOCAL_SRC_FILES := $(call all-proto-files-under, protos)LOCAL_PROTOC_OPTIMIZE_TYPE := nano
LOCAL_PROTOC_FLAGS := --proto_path=$(LOCAL_PATH)/protos/
LOCAL_PROTO_JAVA_OUTPUT_PARAMS := enum_style=javaLOCAL_MODULE_TAGS := optional
LOCAL_MODULE := launcher_proto_lib
LOCAL_IS_HOST_MODULE := true
LOCAL_STATIC_JAVA_LIBRARIES := host-libprotobuf-java-nanoinclude $(BUILD_HOST_JAVA_LIBRARY)# ==================================================
include $(call all-makefiles-under,$(LOCAL_PATH))
配置gradle编译环境
我们随便找个项目的gradle文件夹复制进了
报错一
All flavors must now belong to a named flavor dimension. Learn more at https://d.android.com/r/tools/flavorDimensions-missing-error-message.html
解决:加入 flavorDimensions "version"
报错二
com.android.launcher3.model.nano.LauncherDumpProto does not exist
报错三
解决方案:
查看版本,修改版本号
输出文件
下载
adb shell pm path com.android.launcher3
adb pull /system/priv-app/Launcher3/Launcher3.apk
或者
$ adb shell dumpsys package com.android.launcher3 | grep version
versionCode=26 minSdk=21 targetSdk=23
versionName=8.0.0