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

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

相关文章:

  • BSP、设备树和HAL的关系:以Xilinx Zynq为例与PC BIOS的对比
  • nginx请求限流设置:常见的有基于 IP 地址的限流、基于请求速率的限流以及基于连接数的限流
  • 结构体定义与应用
  • 查看分析日志文件、root密码不记得了,那应该怎么解决这些问题
  • Web开发-PHP应用鉴别修复AI算法流量检测PHP.INI通用过滤内置函数
  • SGMEA: Structure-Guided Multimodal Entity Alignment
  • 【AWS入门】AWS云计算简介
  • 文档搜索引擎
  • PyTorch使用-张量数值计算
  • element-plus中DatePicker 日期选择器组件的使用
  • 【GPT入门】第24课 langfuse介绍
  • An Introduction to Stable Diffusion
  • 【Linux我做主】基础命令完全指南下篇
  • 规模效应的三重边界:大白话解读-deepseek为例
  • HR9110 玩具单通道直流电机驱动器
  • 【Go语言圣经2.4】
  • latex bib文件参考文献去重
  • 二、vtkCommand的使用
  • Android 14 Telephony 网络选择功能介绍
  • [MoeCTF 2021]babyRCE
  • 南通网站建设公司/市场营销案例分析
  • 哪些网站做的比较好看/苏州新闻今天最新消息新闻事件
  • 网站开发培训排名/百度手机助手app免费下载
  • 个人网站开发工具/域名服务器ip地址查询
  • 湖南做网站 在线磐石网络/网络广告推广方式
  • 成都网站推广营销设计/怎样有效的做网上宣传