当前位置: 首页 > article >正文

AndroidStudio+Android8.0下的Launcher3 导入,编译,烧录,调试

文章目录

          • 编译完成
          • 搜索输出文件
          • 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 := optional

LOCAL_STATIC_JAVA_LIBRARIES := \
    android-support-v4 \
    android-support-v7-recyclerview \
    android-support-v7-palette

LOCAL_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.flags

LOCAL_PROTOC_OPTIMIZE_TYPE := nano
LOCAL_PROTOC_FLAGS := --proto_path=$(LOCAL_PATH)/protos/
LOCAL_PROTO_JAVA_OUTPUT_PARAMS := enum_style=java

LOCAL_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 Launcher2

LOCAL_FULL_LIBS_MANIFEST_FILES := $(LOCAL_PATH)/AndroidManifest-common.xml

LOCAL_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=java

LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := launcher_proto_lib
LOCAL_IS_HOST_MODULE := true
LOCAL_STATIC_JAVA_LIBRARIES := host-libprotobuf-java-nano

include $(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

INSTALL_FAILED_TEST

http://www.kler.cn/a/590450.html

相关文章:

  • K8S学习之基础三十三:K8S之监控Prometheus部署程序版
  • 深度学习项目--基于DenseNet网络的“乳腺癌图像识别”,准确率90%+,pytorch复现
  • 基于YOLOv8与SKU110K数据集实现超市货架物品目标检测与计算
  • 4-001:MySQL 中的索引数量是否越多越好?为什么?
  • dify 源码部署操作记录
  • 微信小程序面试内容整理-事件处理
  • 通向AGI的未来之路!首篇2D/视频/3D/4D统一生成框架全景综述(港科大中山等)
  • Vue中的publicPath释义
  • Vuex知识点总结
  • Unity AI 技术浅析(三):智能代理(Agents)
  • 设计模式学习记录
  • EF框架数据库更新后自动更新类及上下文
  • 【计量地理学】实验一 地理数据的基本统计分析
  • wow-rag学习|搞定模型
  • FPGA中级项目1——IP核(ROM 与 RAM)
  • 浏览器文件操作API
  • 深度学习处理时间序列(2)
  • 架构师面试(十七):总体架构
  • 使用vite脚手架搭建react项目
  • Linux查找tomcat的路径