make update-api 的由来

2023-11-04

     谷歌对于所有的类和API,分为开放和非开放两种,当我们修改framework目录中的java文件时,比如添加API、删除API、声明变量,编译器都需要我们决定API是开放还是非开放。

     对于开放的类和API,可以通过“Javadoc标签”与源码同步生成“程序的开发文档”,方便开发者查看接口说明,同步生成“程序的开发文档”的方法就是先执行  make update-api (编译会修改文件 framework/base/api/current.txt),再执行大编译 make -j4 。

     对于非开放的类和API,将该接口加上非公开的标签:/**{@hide}*/

 

如果不做上述处理,在添加新API时会报如下错误:

******************************
You have tried to change the API from what has been previously approved.
To make these errors go away, you have two choices:
    1) You can add "@hide" javadoc comments to the methods, etc. listed in the
      errors above.

    2) You can update current.txt by executing the following command:
         make update-api
      To submit the revised current.txt to the main Android repository,
      you will need approval.
******************************

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

make update-api 的由来 的相关文章

  • 使用 Android 前台服务为 MediaPlayer 创建通知

    问题就在这里 我目前正在开发一个应用程序 该应用程序必须提供 A 广播播放器 来自 URL 的 AAC 直播 还有一个播客播放器 来自 URL 的 MP3 流 该应用程序必须能够在后台运行 Android 服务 并通过以下方式向用户公开持续
  • GCM 向主题发送消息:TOO_MANY_TOPICS 错误

    以前 GCM 每个应用程序有 100 万个主题订阅的限制 我发现他们现在已经取消了这一限制 基于发布 订阅模型 主题消息支持 每个应用程序无限订阅 https developers google com cloud messaging to
  • 检测到设备正在振动?

    我使用下面的代码来振动设备 public void vibrator try Vibrator vibrator Vibrator getSystemService Context VIBRATOR SERVICE vibrator vib
  • Android - 如何一次只允许播放一个 MediaPlayer 实例?

    我正在尝试创建一个简单的 Sound board Android 应用程序 使用 ListView 项目作为按钮 顺便说一句 我是一个新手程序员 我的想法是 我按下一个按钮 就会播放一个特定的声音文件 如果我在播放声音时按下任何按钮 它应该
  • Android第一次动画不流畅

    我正在尝试一个动画将 imageView 从屏幕底部滑动到屏幕中心 但是当我第一次执行此动画时 它不平滑 但当第二次执行动画时 它是正常且平滑的 我几乎尝试了所有方法 但无法解决我的问题 这是我的动画文件
  • 无法在自定义 AOSP 上安装 Google Play 中的某些应用程序:项目不可用。理由:9

    我在尝试从 Google Play 安装某些应用程序时收到以下错误 LibraryUtils isAvailable not available restriction 9 DocUtils getAvailabilityRestricti
  • 设置从 Facebook 登录获取用户电子邮件 ID 的权限

    我在用着Facebook 3 0 SDK对于安卓 我必须实施Facebook登录 我正在访问用户的基本信息 例如姓名 用户 ID 但我也想访问用户的电子邮件 我浏览了很多博客和论坛 但不知道该怎么做 我正在使用我自己的 android 按钮
  • 如何查找 Android 设备中的所有文件并将它们放入列表中?

    我正在寻求帮助来列出 Android 外部存储设备中的所有文件 我想查找所有文件夹 包括主文件夹的子文件夹 有办法吗 我已经做了一个基本的工作 但我仍然没有得到想要的结果 这不起作用 这是我的代码 File files array file
  • 已经使用 AsyncTask doInBackground 但新数据未显示

    我使用 AsyncTask 创建一个聊天室来接收消息 因此它总是检查即将到来的消息并将其显示给客户端 但代码似乎无法按我希望的方式工作 在客户端只显示所有旧数据 新数据不显示 因为当我尝试从服务器发送消息时 新数据没有显示在客户端中 我对这
  • Android 原理图内容提供程序库配置?

    Jake Wharton 在最近的一次演讲中提到了这个库 它看起来是避免大量样板文件的好方法 所以我尝试了一下 但没有任何成功 https github com SimonVT schematic https github com Simo
  • 在我的Android中,当其他应用程序想要录制音频时如何停止录音?

    在我的应用程序中 服务通过 AudioRecord 持续录制音频 当我的应用程序运行时 其他与音频记录相关的应用程序 例如 Google 搜索 无法工作 如何知道何时有其他应用想要录制音频 以便我可以停止录制以释放资源 答案是MediaRe
  • OnClick 事件中的 finish() 如何工作?

    我有一个Activity一键退出Activity 通过layout xml我必须设置OnClick事件至cmd exit调用 this finish 效果很好 public void cmd exit View editLayout thi
  • CookieManager.getInstance().removeAllCookie();不删除所有cookie

    我在应用程序的 onCreate 中调用 CookieManager getInstance removeAllCookie 我遇到了一个奇怪的问题 我看到 GET 请求中传递了意外的 cookie 值 事实上 cookie 值是一个非常非
  • 带有自定义阵列适配器的微调器不允许选择项目

    我使用自定义阵列适配器作为微调器 但是 当在下拉列表中选择一个项目时 下拉列表保留在那里 并且微调器不会更新 这是错误行为 与使用带有字符串的通用数组适配器相比 这是自定义类 我错过了什么吗 谢谢 public class Calendar
  • Android 启动器快捷方式

    我制作了一个简单的打卡 打卡时钟应用程序 我想向用户添加在主屏幕上创建快捷方式的选项 该快捷方式将切换应用程序的状态 超时 超时 但我根本不希望此快捷方式在屏幕上打开应用程序 这是我的 setupShortcut private void
  • 如何在C(Linux)中的while循环中准确地睡眠?

    在 C 代码 Linux 操作系统 中 我需要在 while 循环内准确地休眠 比如说 10000 微秒 1000 次 我尝试过usleep nanosleep select pselect和其他一些方法 但没有成功 一旦大约 50 次 它
  • Android Webview 图像未加载

    我制作了一个简单的应用程序WebView 但有些图片无法加载 正确 在我的电脑上 错误 在模拟器中 Correct 错误 没有横幅 于是我用Chrome debug进行调试 发现我的代码被改变了 我不添加像noscript or style
  • 调节麦克风录音音量

    我们正在尝试调整录音时的音量级别 麦克风似乎非常敏感 会接收到很多静电 我们查看了 setVolumeControlStream 但找不到传入其中来控制麦克风的流 将您的音频源设置为 MIC using MediaRecorder Audi
  • 应用程序关闭时的倒计时问题

    我制作了一个 CountDownTimer 代码 我希望 CountDownTimer 在完成时重新启动 即使应用程序已关闭 但它仅在应用程序正在运行或重新启动应用程序时重新启动 因此 如果我在倒计时为 00 10 分钟 秒 时关闭应用程序
  • 在 Android 中,如何将字符串从 Activity 传递到 Service?

    任何人都可以告诉如何将字符串或整数从活动传递到服务 我试图传递一个整数 setpossition 4 但它不需要 启动时总是需要 0 Service 我不知道为什么我不能通过使用 Service 实例从 Activity 进行操作 publ

随机推荐

  • springboot国际化message配置

    常常在需求中遇到国际化的要求 而国际化最常见的就是中英文切换 除了前端 后端也需要进行国际化处理 这里来记录一下我实现国际化的步骤代码 1 在resource下的i18n下建立messages properties messages en
  • CycleGAN和Conditional GAN(cGAN)

    当谈到CycleGAN和Conditional GAN cGAN 时 我们涉及到生成对抗网络 GAN 的不同变体 让我逐步介绍它们的原理和应用 CycleGAN CycleGAN是一种无监督的图像转换模型 它可以在两个不同的图像域之间进行转
  • Ubuntu Source Insight 4.0安装后首次打开报错

    系统为中文会出现 Unable to open or create 中文路径 sidb 参照网上修改regedit方法 发现没用 直接修改 wine drive c users server 我的文档 为 wine drive c user
  • C++ 中 map 容器的内存释放机制及内存碎片管理

    C 中 map 容器的内存释放机制及内存碎片管理 C 中的容器很好用 比如 vector map 等 可以动态扩容 自己管理内存 不用用户关心 但是在某些极端情况下 如果内存比较紧张的情况下 可能用户对于这些容器自己的管理规则 主要是释放规
  • Linux read命令

    读取n个字符存入变量 不用按回车 输入到第n个自动结束 student myhost read n 3 a 123 student myhost echo a 123 无回显方式读取密码 student myhost read s pass
  • windows spacemacs实现org-mode转latex,然后生成pdf

    spacemacs默认英文字体做如下修改 安装了完整版ctex套装 spacemacs增加layer gt latex 增加windows的path路径 解决org mode里中英文等宽问题 latex编译命令 pdf预览等 实现了org转
  • 什么是文件目录,文件目录项的主要内容是什么?

    文件目录是记录系统中所有文件的名字及其存放地址的目录表 表中还包括关于文件的说明信息和控制信息 主要内容如下 1 文件名 文件名分为文件的符号名和内部标识符 id号 2 文件的逻辑结构 说明该文件是否是定长 记录长度及记录个数等 3 文件的
  • USB如何布局走线

    1 先上图 USB分为2 0和3 0 2 USB布局走线需要注意的地方 静电防护 阻抗匹配 同组等长
  • cv::Mat遍历赋值的几种方式

    cv Mat赋值的几种方式 1 前言 2 Mat简介 3 遍历Mat赋值方式 方式一 方式二 方式三 4 测试 5 参考文献 1 前言 背景 获取传感器数据后需要保存成图片 有时需要对里面的元素进行操作 因为是自己开发 不能直接得到图片 所
  • CopyOnWriteArrayList部分源码分析

    CopyOnWriteArrayList部分源码分析 我们都知道ArrayList是基于数组实现的可动态扩容的集合 但是他实际上也是线程不安全的 而在JUC java util concurrent 下有个线程安全的数组集合 就是CopyO
  • django开发电子商城(四)django分页进阶和列表长度控制

    1 在list html中增加bootstrap分页代码 2 增加样式 使分页列表居中 3 修改views py文件 将分页数据传到前端 4 修改list html 根据传到前端的分页数据进行渲染分页条
  • 1035 插入与归并

    1035 插入与归并 根据维基百科的定义 插入排序是迭代算法 逐一获得输入数据 逐步产生有序的输出序列 每步迭代中 算法从输入序列中取出一元素 将之插入有序序列中正确的位置 如此迭代直到全部元素有序 归并排序进行如下迭代操作 首先将原始序列
  • python循环语句for 循环十次_python循环10次写法以及实例代码

    python循环10次怎么写 Python for循环可以遍历任何序列的项目 如一个列表或者一个字符串 语法 for循环的语法格式如下 for iterating var in sequence statements s 例子 for i
  • PHP 实现网页爬虫

    方法一 通过fopen和stream get contents获取html内容 从给定的url获取html内容 爬虫程序 原型 从给定的url获取html内容 通过fopen和stream get contents获取html内容 para
  • vue+typescript与UE4像素流通信笔记

    一 文件准备 1 从搭建好的UE4项目下找到scripts文件夹 拷贝该文件夹 重点文件为app js与webRtcPlayer js 到vue项目下的静态资源文件夹 默认public文件夹 下 如下图 在vue项目的index html下
  • Cocos2d-x的SprideMonkey的JavaScript与C++的交互(二) - 单个全局变量操作

    哇塞最近发现转帖的真多呀 这星期五写的东东 现在满大街都是了 哥哥也不问功名利禄 感觉挺好的 JS火起来我也很开心 呵呵 当时快下班了 这篇写的有些仓促 现在加精一些 首先来理解一下sc gt getGlobalObject 这个同学们就问
  • 第六章 一山不容二虎

    第六章 一山不容二虎 收购规则 6 在同一行业里 同一重量级的收购不会取得成功 一座山上不能同时容纳两只老虎 为什么呢 因为老虎是百兽之王 两只老虎都想称王 最后无法协商 只好用牙齿和爪子较量一番 战败者一瘸一拐地离 去 战胜者舔着伤口在山
  • 从零讲解目标检测的评价指标map及实现

    前言 map是 Mean Average Precision 的缩写 翻译过来是平均精度的平均 有点绕啊 在理解map之前 先问个为什么要引入map 在分类任务中 常使用精确率和召回率作为评价指标 也称查准率和查全率 这是一个简单直接的统计
  • C语言:二进制、八进制、十六进制整数的书写及输出

    目录 一 整型数据类型 二 二进制 八进制 十六进制的书写 1 二进制 以 0b 0B 开头 不区分大小写 数字0 而非字母o 下同 2 八进制 以数字 0 开头 3 十六进制 以 0x 0X 开头 三 二进制 八进制和十六进制的输出 八进
  • make update-api 的由来

    谷歌对于所有的类和API 分为开放和非开放两种 当我们修改framework目录中的java文件时 比如添加API 删除API 声明变量 编译器都需要我们决定API是开放还是非开放 对于开放的类和API 可以通过 Javadoc标签 与源码