构建Android studio版的CarSystemUI工程时因为包名一致导致BuildConfig问题

项目场景:

公司计划开发杰发AC8025-Android 12版本车载平台,前期预研需要构建Android studio版的CarSystemUI工程


问题描述

AAOS车载项目里面的CarSystemUI源码默认无Android studio版本,为了后期快速开发调试需要构建Android studio能直接编译出来apk的工程,构建的过程先不表总之巨麻烦,构建完的工程结构如下图:
Android studio能编过的CarSystemUI
构建是完成了,编出来debug版的apk没问题,但是我编release版的apk编译不过。studio编译报下面的故障:

Type com.android.systemui.BuildConfig is defined multiple times: D:\andy_cao\CarSystemUI\app\build\intermediates\project_dex_archive\release\out\com\android\systemui\BuildConfig.dex, D:\andy_cao\CarSystemUI\systemui\build\.transforms\a8853c444618b4986e274bb805eaaac9\transformed\release\com\android\systemui\BuildConfig.dex

这里跑个题:我为啥执着非要编出来release版的apk?
Debug 版本
Debug 是“调试”的意思,Debug 版本就是为调试而生的,编译器在生成 Debug 版本的程序时会加入调试辅助信息,并且很少会进行优化,程序还是“原汁原味”的。
你没听错,不是任何一个程序都可以调试的,程序中必须包含额外的辅助信息才能调试,否则调试器也无从下手。

Release 版本
Release 是“发行”的意思,Release 版本就是最终交给用户的程序,编译器会使尽浑身解数对它进行优化,以提高执行效率,虽然最终的运行结果仍然是我们期望的,但底层的执行流程可能已经改变了。
编译器还会尽量降低 Release 版本的体积,把没用的数据一律剔除,包括调试信息。
最终,Release 版本是一个小巧精悍、非常纯粹、为用户而生的程序。

总结
Debug 版本的存在是为了方便程序员开发和调试,性能和体积不是它的重点;Release 版本是最终交给用户的程序,性能和体积是需要重点优化的两个方面。

在开发过程中,我们一般使用 Debug 版本,只有等到开发完成,确认没有任何 Bug 之后,希望交给用户时再生成 Release 版本。


原因分析:

授人以鱼不如授人以渔

看is defined multiple times意思是BuildConfig被多次定义,但是你用is defined multiple times关键字去搜怎么都搜不到对应的博客,自己又是无数次的尝试无数次的修改始终不行。


解决方案:

后面跟一个前同事聊到此事,他给了个解决方案是在app包下面的build.gradle中曾加如下字段:

afterEvaluate {generateReleaseBuildConfig.enabled = falsegenerateDebugBuildConfig.enabled = false
}

添加后就可以编译出release版的apk,大家往上看截图里面我选中的就是生成release版的apk

然后我用generateReleaseBuildConfig.enabled能搜到几篇对应解决办法的博客我贴到下面:
https://blog.csdn.net/why1happy/article/details/105765140
https://www.jianshu.com/p/21b4065e58a7

总结

吾日三省吾身,每天进步一点点

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/40483.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32基础知识

一.STM32概述 第一款STM32单片机发布的时间为2007年6月11日。由意法半导体(ST)公司推出,是STM32系列中的首款产品,具体型号为STM32F1,它是一款基于Cortex-M内核的32位微控制器(MCU)。 STM32F1…

2024年【湖北省安全员-C证】考试资料及湖北省安全员-C证考试试卷

题库来源:安全生产模拟考试一点通公众号小程序 湖北省安全员-C证考试资料是安全生产模拟考试一点通生成的,湖北省安全员-C证证模拟考试题库是根据湖北省安全员-C证最新版教材汇编出湖北省安全员-C证仿真模拟考试。2024年【湖北省安全员-C证】考试资料及…

JS+CSS+HTML项目-中国国家图书馆

页面做的不多,CSS效果请看哔哩哔哩

英智玲珑一体机在律所能做什么

只要不开庭,学习就不能停 好的律师是法律知识的百科全书 要精通、全面理解各类型的法律 还要不断学习更新的条例释义 一天即使工作24小时 也有忙不完的文书起草,资料核对,案情分析整理 有了英智玲珑一体机,这些都不是难题&am…

一键式创建GTest测试平台

适用于C GTest测试平台搭建。直接上python脚本。 #!/usr/bin/env python3 # -*- coding: utf-8 -*-import argparse import os import platform import subprocess from xml.etree import ElementTree as ETdefault_root_path "d:\\test\\UTtest"class DeveloperTe…

四款主流电脑监控软件(电脑监控软件主要优势)

在现代企业环境中,确保员工的工作效率和企业信息的安全成为了管理者的重要任务。电脑监控软件作为一种有效的管理工具,能够帮助企业实现这些目标。固信电脑监控软件在这方面表现尤为出色,本文将详细介绍固信电脑监控软件的优势及其主要功能&a…

《NATURE丨使用 AlphaFold 3 准确预测生物分子相互作用的结构》

NATURE丨使用 AlphaFold 3 准确预测生物分子相互作用的结构 注意!:本文创作仅根据个人理解和网络信息,如有错误恳请指正!谢谢! 大家好,今天分享的文献是2024年5月发表在Nature上的“ Accurate structure …

(仿真+报告+源码)基于51单片机的温湿度监测系统

(仿真报告源码)基于51单片机的温湿度监测系统 付费后获得百度网盘链接,网盘链接在最后,有问题私信哦~~~ 一.系统简介 该系统由单片机、温湿度传感器器、液晶显示器以及浇水控制电路组成。该系统使用AT89C51单片机作为控制核心&…

windows上安装Frida环境

python安装 下载地址 Python Release Python 3.12.4 | Python.org python安装好后,使用如下命令安装frida客户端 pip install frida-tools 使用frida --version 查看frida版本 安装手机模拟器(雷电模拟器) 我的版本是4.0.61 查看CPU架构 adb …

一文了解常见DNS结构

很多企业忽略DNS这个关键的组件,而当DNS出现问题是,就会导致网站无法访问、电子邮件无法发送和接收,从而影响到企业的正常运行。而网络团队成员如果想要处理DNS问题就必须对所在网络的DNS架构有一定的理解。 主DNS服务器: 主DNS服…

设计模式探索:单例模式

1. 什么是单例模式? 定义: 单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供一种全局访问点以访问该实例。常见的场景包括身份证号码、政府等需要唯一实例的情况。 单例模式通常用于那些需要在应用程序中仅存在一个实例的情况,例如配置管理器、线程池、数据…

【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【20】认证服务04—SSO单点登录

持续学习&持续更新中… 守破离 【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【20】认证服务04—SSO单点登录 xxl-sso多系统-单点登录单点登录流程原理图单点登录流程简单实现参考 xxl-sso https://gitee.com/xuxueli0323/xxl-sso xxl-sso是开源的一个单点登录框架 …

智慧交通运行监测与应急指挥中心方案

建设目标 建立感知层数据的实时采集以及数据处理,实现监测预警自动化和智能化;推动交通运输数据资源开放共享,打破数据资源壁垒,与城市各部门数据建立共享交换机制,实现应急指挥的协同化;充分运用大数据、互…

【免费资料】IEEE33节点系统参数及拓扑图visio

主要内容 对于初学配电网的同学,最经典的系统即是33节点配电网系统,在各个研究文献中出现频次最高的也是这个系统,为了让大家更好了解33节点系统参数,本次整理了系统节点、支路参数excel以及33节点网络拓扑图visio&#xff0c…

阿里云安装rabbitMQ

1、首先看linux 版本 uname -a如果时centos 7 可以参考其他文档。我这里是centos 8 这个很重要 。网上全是按centos7 按照。导致我前面一直安装不上 各种问题。 2、查看rabbitmq 对应 erl 的版本下载 https://www.rabbitmq.com/docs/which-erlang 选择rabbitmq 3.11.19 选择…

人大金仓KADB监控工具及问题处理

目录 1. Kmonitor拆包安装部署. 3 1.1.环境准备. 3 1.2.拷贝并解压. 4 1.3.kadb_exporter 4 1.3.1 修改application.yml文件. 4 1.3.2 修改连接池. 5 1.3.3 修改启动文件(可选) 6 1.4.H2库. 7 1.4.1进入h2db并修改启动文件(可选) 7 1.4.2 打开h2库网址并连接. 8 1.…

国家力推!国家人工智能产业标准化指南

在科技日新月异的今天,人工智能(AI)作为推动社会进步和产业升级的关键力量,正以前所未有的速度改变着我们的世界。从自动驾驶到智能制造,从智慧医疗到金融科技,人工智能的触角已经深入到了经济社会的各个角…

合合信息大模型“加速器”亮相2024世界人工智能大会,助力大模型学好“专业课”

7月4日至7日,2024世界人工智能大会在上海拉开帷幕。现阶段,“百模大战”现象背后的中国大模型发展前景与堵点仍然是各界关注的焦点。如何帮助大模型在信息的海洋中快速找准航向,在数据的荒漠中找到高质量的“水源”?合合信息在本次…

多个comfyui之间如何共享模型,节省存储空间

COMFYUI 模型共享插件教程 一、COMFYUI 模型共享插件教程1.1 插件特性1.2 插件介绍1.3 链接 二、详细配置步骤2.1 开启开发者选项2.2 放置插件文件2.3 放置配置文件2.4 编辑配置文件2.4.1 其他配置项 三、启动COMFYUI并验证3.1 启动COMFYUI3.2 验证模型共享3.3 多整合包共享配置…

CTF之unseping

拿到题目看不懂&#xff1f;这是难度1&#xff1f;含泪去看大佬的wp&#xff0c;写下我的自传&#xff01; <?php highlig…