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

【Android定制】修改BUILD_AGO_GMS = no 和 BUILD_GMS=no属性

文章目录

    • 概要
    • 名词解释
    • 细节
    • 小结

概要

在安卓底层源码中,有这样的两个属性,这两个第一眼看上去都像是带不带谷歌,BUILD_AGO_GMS = noBUILD_GMS=no有什么区别??

如果带了谷歌,那么这个设备就差不多是国外定制的设备了,不带谷歌的话基本就是国内的设备。

名词解释

BUILD_AGO_GMS = noBUILD_GMS = no都是Android应用程序中的Gradle构建文件中的变量,它们的作用是禁用Google Mobile Services(GMS)。

然而,这两个变量的作用范围略有不同。具体来说:

  • BUILD_AGO_GMS = no:这个变量只对应用程序的“旧版本”(即不包含GMS的版本)有效。如果在应用程序中设置了BUILD_AGO_GMS = no,则只有那些没有GMS支持的应用程序版本才会被打包,而其他版本则不会被打包。

  • BUILD_GMS = no:这个变量适用于整个应用程序,包括所有版本。无论应用程序是否包含GMS支持,只要在构建文件中设置了BUILD_GMS = no,那么所有的应用程序版本都将被打包,并且不会包含任何与GMS相关的代码或库。

因此,如果您只想禁用某些应用程序版本的GMS支持,可以使用BUILD_AGO_GMS = no;如果您想完全禁用整个应用程序的GMS支持,则应该使用BUILD_GMS = no

细节

在Android应用程序开发中,GMS(Google Mobile Services)是一种提供各种服务和功能的框架,包括位置、联系人、短信、网络连接等。如果一个应用程序需要使用这些服务和功能,那么它就需要包含GMS支持。

然而,有些应用程序不需要使用所有的GMS服务和功能,或者只需要在特定的设备或版本上使用。在这种情况下,开发者可以选择将应用程序的某些部分禁用GMS支持,以减小应用程序的大小和运行开销。

具体来说,如果一个应用程序包含了GMS支持,那么在打包应用程序时,Gradle构建系统会自动将与GMS相关的代码和库打包到应用程序中。

但是,如果开发者在构建文件中设置了BUILD_AGO_GMS = no,则只有那些没有GMS支持的应用程序版本才会被打包。这意味着只有那些不需要使用GMS服务的应用程序版本会被打包,而其他版本则不会被打包。

因此,如果您想禁用某些应用程序版本的GMS支持,可以使用BUILD_AGO_GMS = no;如果您想完全禁用整个应用程序的GMS支持,则应该使用BUILD_GMS = no

小结

BUILD_AGO_GMS = no,则只有那些没有GMS支持的应用程序版本才会被打包,而其他版本则不会被打包。

BUILD_GMS=no ,直接不带谷歌。

在这里插入图片描述

相关文章:

【Android定制】修改BUILD_AGO_GMS = no 和 BUILD_GMS=no属性

文章目录 概要名词解释细节小结 概要 在安卓底层源码中,有这样的两个属性,这两个第一眼看上去都像是带不带谷歌,BUILD_AGO_GMS no和BUILD_GMSno有什么区别?? 如果带了谷歌,那么这个设备就差不多是国外定…...

第十章:C语言的调试

很多小伙伴刚开始听到C语言的调试,这是个啥,表示很怀疑,敲代码不就是直接就是干嘛,结果很多小白们,一运行错误多的数都数不过来。就开始这改改,那删删,莫名奇妙就运行成功了。到最后都不知道到底…...

【20】SCI易中期刊推荐——计算机信息系统工程电子与电气(中科院3区)

💖💖>>>加勒比海带,QQ2479200884<<<💖💖 🍀🍀>>>【YOLO魔法搭配&论文投稿咨询】<<<🍀🍀 ✨✨>>>学习交流 | 温澜潮生 | 合作共赢 | 共同进步<<<✨✨ 📚📚>>>人工智能 | 计算机视觉…...

初识网络之UDP网络套接字

目录 一、UDP中的socket编程常用接口 1. socket的含义 2. sockaddr结构 3. socket编程中UDP协议常用接口介绍 3.1 创建socket文件描述符&#xff08;TCP/UDP、客户端 服务器&#xff09; 3.2 绑定端口号&#xff08;TCP/UDP&#xff0c;服务器&#xff09; 3.3 接收数据…...

数据中心末端配电的数字化方案及设备选型

普通PDU和智能PDU有什么区别&#xff1f; 机架安装配电盘或机架配电单元 (PDU) 是一种配备许多插座的设备&#xff0c;可将电力分配给位于数据中心机架或机柜内的服务器、存储设备和网络设备。领先的分析公司 IHS 将它们分为两大类&#xff1a; 1) 基本 PDU 提供可靠的配电。 2…...

k8s入门实战-Service

k8s入门实战-Service Service 和 Label Service 通过一组 Pod 路由通信。Service 是一种抽象&#xff0c;它允许 Pod 死亡并在 Kubernetes 中复制&#xff0c;而不会影响应用程序。在依赖的 Pod (如应用程序中的前端和后端组件)之间进行发现和路由是由Kubernetes Service 处理…...

Python量化交易:策略创建运行流程

学习目标 目标 知道策略的创建和运行知道策略的相关设置知道RQ的策略运行流程应用 无 1、体验创建策略、运行策略流程 1.1 创建策略 1.2 策略界面 2、 策略界面功能、运行介绍 2.1 一个完整的策略需要做的事情 选择策略的运行信息&#xff1a; 选择运行区间和初始资金选择回…...

企业该如何自主构建信息化管理系统?

实践证明&#xff0c;企业自己搭建的信息化系统灵活性更高&#xff0c;更能契合企业的需求。 我们可以借助零代码平台自主搭建&#xff0c;既提供了各个应用系统的标准化功能&#xff0c;又支持自定义搭建&#xff0c;可根据企业自身需求修改。 全球领先的信息技术研究和顾问公…...

linuxOPS基础_操作系统概述

计算机发展史 第一台计算机是1946 年2 月14 日诞生日&#xff0c;第一台名称ENIAC。体积一间屋子的大小&#xff0c;重量高达28t。 第一代&#xff1a;1946 – 1958 > 12 年 &#xff08;电子管&#xff09; 第二代&#xff1a;1958 – 1964 > 6 年 &#xff08;晶体管…...

常用adb命令记录下

adb root 获取root 权限(以root权限运行ADB守护程序)adb remount 以读写方式重新挂载设备的文件系统adb reboot 重启设备adb devices 查看当前连接设备adb get-serialno 获取设备的序列号adb backup 备份设备的应用程序和数据adb bugreport 收集设备的当前状态信息以进行故障排…...

Etcdctl 命令v3

一、v3必须导出环境变量 export ETCDCTL_API3 二、查看版本 etcdctl version 三、写入键 1.基本 etcdctl put foo bar 2.绑定租约 etcdctl put foo bar --leasexxxx 四、获取键 1.基本 etcdctl get foo 2.按十六进制获取 etcdctl get foo --hex 3.只读取键值 et…...

第二十一章 开发Productions - ObjectScript Productions - 延迟发送

文章目录 第二十一章 开发Productions - ObjectScript Productions - 延迟发送延迟发送 生成事件日志条目在 ObjectScript 中生成事件日志条目 第二十一章 开发Productions - ObjectScript Productions - 延迟发送 延迟发送 除了同步&#xff08;等待&#xff09;和异步&…...

用vue-full-calendar实现酒店预定管理展示

文章目录 前言一、关于vue-full-calendar二、使用步骤1. 引入库2. 使用库3. 开始编码4. 实际效果图展示5. 点击弹窗展示6. 弹窗展示效果图 总结 前言 近些天有位做酒店业务朋友问到我&#xff0c;有没有前端比较好用的预定日历查看插件&#xff0c;实际上我也没有研究过&#…...

DirectX12环境配置(1)

开发环境&#xff1a;visual studio 2022 第一种配置DirectX12环境得方式。首先创建一个c得空项目&#xff0c;然后创建一个main.cpp文件。把下面这串代码放进去&#xff0c;先不用管这串代码什么意思&#xff0c;后面会逐行逐句得讲解&#xff0c;因为我们创建得是空项目&am…...

Go-异常处理(defer recover panic)

系列文章目录 提示&#xff1a;goi语言基础文章 GO-异常处理 文章目录 系列文章目录前言一、关键字含义defer /recover 实现异常捕获和处理应用场景deferrecoverpanic 二、实例实例讲解上述几种情况 总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; …...

【完美解决】mysql启动不了:本地计算机上的MySQL服务启动后停止

本文基于mysql8.0&#xff0c;5.7也可以参考 navicat 突然莫名其妙连不上mysql 查看服务&#xff0c;也启动不了&#xff0c;手动启动出现错误&#xff1a; 本地计算机上的MySQL服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止 20230525更新&#xff01; 先…...

C++ Qt 项目设计:基于C++与Qt的跨平台定时关机/关屏应用开发

基于C与Qt框架的定时关机与关屏应用开发全攻略 (一) 项目概述 (Project Overview)1.1 项目需求解析 (Analyzing the Project Requirements)1.2 选择技术栈 (Choosing the Tech Stack)1.3 功能概览 (Function Overview) (二) 设计思路 (Design Thinking)2.1 系统架构设计 (Syste…...

Python新技术和趋势:如何应对Python生态的变化和发展趋势

第一章&#xff1a;引言 Python作为一门简洁、优雅且易于学习的编程语言&#xff0c;一直以来都备受开发者的喜爱。它拥有强大的生态系统和活跃的社区&#xff0c;使得Python在各个领域都有广泛的应用。然而&#xff0c;随着时间的推移&#xff0c;Python生态系统也在不断演变…...

Flutter 又一元老离职,感谢 Tim 这些年的付出

前天在 insiders 收到 Tim Sneath 的离职邮件时感觉很震惊&#xff0c;因为他绝对是 Flutter 团队的元老级人物&#xff0c;几乎每次一次 Flutter 版本发布和社区活动都有他的身影&#xff0c;可以说他是我的 Flutter 领路人之一。 Tim 是在 2017 加入 Flutter 团队&#xff0…...

C++学习笔记3:sort和priority_queue的比较器重载

1 sort 三种方法 1. 直接重载函数 #include <vector> #include <memory> #include <vector> #include <queue> #include <iostream> #include <algorithm>using namespace std;class Node{ public:int value;Node(){value 0;};explici…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)

概述 在 Swift 开发语言中&#xff0c;各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过&#xff0c;在涉及到多个子类派生于基类进行多态模拟的场景下&#xff0c;…...

在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module

1、为什么要修改 CONNECT 报文&#xff1f; 多租户隔离&#xff1a;自动为接入设备追加租户前缀&#xff0c;后端按 ClientID 拆分队列。零代码鉴权&#xff1a;将入站用户名替换为 OAuth Access-Token&#xff0c;后端 Broker 统一校验。灰度发布&#xff1a;根据 IP/地理位写…...

Java 加密常用的各种算法及其选择

在数字化时代&#xff0c;数据安全至关重要&#xff0c;Java 作为广泛应用的编程语言&#xff0c;提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景&#xff0c;有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

算法笔记2

1.字符串拼接最好用StringBuilder&#xff0c;不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...

服务器--宝塔命令

一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行&#xff01; sudo su - 1. CentOS 系统&#xff1a; yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...

招商蛇口 | 执笔CID,启幕低密生活新境

作为中国城市生长的力量&#xff0c;招商蛇口以“美好生活承载者”为使命&#xff0c;深耕全球111座城市&#xff0c;以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子&#xff0c;招商蛇口始终与城市发展同频共振&#xff0c;以建筑诠释对土地与生活的…...

力扣热题100 k个一组反转链表题解

题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...

android13 app的触摸问题定位分析流程

一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分&#xff1a; 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...