测试权限和 Android 应用清单文件

2024-04-29

我想知道是否有办法添加某些权限(或任何东西)到 android 清单文件,但这样它仅在测试运行期间使用 - 不在生产期间使用。我正在寻找一些程序化的东西,而不是在测试时剪切和粘贴。

这是上下文:

我正在读这篇文章:http://developer.android.com/training/location/location-testing.html http://developer.android.com/training/location/location-testing.html,测试运行应用程序的最佳实践过去是创建一个“测试应用程序”,但是使用 android studio,我们现在并不意味着创建一个新应用程序 - 所有测试都应该通过应用程序完成。 (谢谢你,等级)

问题是这篇文章是在有测试权限的情况下写的(ACCESS_MOCK_LOCATION),我不希望它出现在我的应用程序中 - 如果有一个好的方法可以做到这一点,我愿意这样做。

UPDATE:我遇到这个问题的原因是由于迁移到 Gradle 以来对 android studio 架构设置的误解。 我没有意识到构建类型共享“androidTest”和“main”源文件夹。因此,在测试或运行未完成的应用程序时,它会获取调试文件(如果有)并将所有生产内容添加到其中。因此,就我而言,我在调试中添加了一个空清单文件,并简单地向其中添加了两个权限。当我运行或测试时,gradle 会将我的所有应用程序内容从其他清单添加到这个骨架文件中(反之亦然,我不确定)。

因此,最终我们不需要修改 androidTest 文件夹(事实上,我认为我们不允许在此处添加清单),因为它完全是根据用户是在调试还是部署上运行而生成的。干杯! :-)


假设您使用默认值debug and release构建类型,然后针对调试构建类型运行测试。 在这种情况下,您可以创建一个src/debug/AndroidManifest.xml并在调试版本中添加您需要的附加权限:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="your.package">

    <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/>

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

测试权限和 Android 应用清单文件 的相关文章

  • 使用DBFlow,如何加密已经存在的数据库?

    我正在使用 DBFlow 来处理项目中的数据库 并且我想对现有数据库进行加密 我知道我可能必须删除现有的未加密数据库并创建另一个加密数据库 我也知道我可以将 SQLCipher 与 DBFlow 一起使用 如上所述文档 https gith
  • Android TelecomManager 中的 addIncomingCall 没有执行任何操作

    我正在尝试使用本机 Android 来电 UI 我有一个连接服务 并且我已经成功注册了一个电话帐户 但在我调用方法 addNewIncomingCall 后什么也没有发生 对我所缺少的有什么想法吗 显现
  • 在工具栏下显示内容

    您好 我试图简单地将我的内容放在工具栏下方 但是当我运行我的应用程序时 某些内容本应位于工具栏下方 却隐藏在工具栏后面 我已经阅读了有关使用框架布局来尝试将其分离的内容 但我有点卡住了 我目前正在使用该软件提供的基本 android stu
  • 当我单击“完成”键时,Android OnEditorActionListener() actionId 给出 0

    我创建了一个键盘 当用户输入数字时 它会输入特定的 EditText 但是当用户单击Done关键 它没有去setOnEditorActionListener但它关闭了键盘 这是我的代码 final EditText txtQty new E
  • VOIP通话录音

    我正在开发一个在 android 中录制 VOIP 通话的项目 我没有找到任何解决方案 有很多应用程序支持手机上的 VOIP 录音 我找不到任何教程和帮助 立方体通话记录器 https play google com store apps
  • CoordinatorLayout 和 ImageView 在滚动时调整宽度的问题

    我正在尝试放置一个ImageView in a CollapsingToolbarLayout它在加载时占据整个屏幕 并且当您滚动内容时 16x9 分辨率图像宽度会调整大小 直到图像占据屏幕的整个宽度 那时 我希望图像具有视差app lay
  • 如何使用 RecyclerView 创建此布局?

    我正在尝试使用这种类型的布局创建回收器视图 这些项目是字符串 可以以不同的大小出现 我不知道每行中有多少项目 我可以使用 StaggeredGridLayoutManager 来做到这一点吗 该图像只是一个假示例 每行可以有更多项目 您可能
  • Play 商店中的应用描述更新

    我想更新应用程序的描述以及 Play 商店上的屏幕截图 但应用程序保持相同 即相同的版本号 我不想发布新应用程序 因为应用程序中没有任何更改 这可能吗 谷歌也会要求更新应用程序吗 您可以更新描述 也可以更改屏幕截图 您的应用程序将保持不变
  • 什么是 Android 测试协调器?

    谷歌最近发布了Android测试支持库1 0 读完后overview https android developers googleblog com 2017 07 android testing support library 10 is
  • 在 Android 中加密/解密字符串的简单方法

    我的问题是如何加密String String AndroidId Override public void onCreate Bundle savedInstanceState super onCreate savedInstanceSta
  • FragmentActivity 无法解析为类型

    我正在尝试来自的应用程序这个博客 http android developers blogspot com 2011 02 android 30 fragments api html 在延长的同时FragmentActivity 我收到以下
  • 如何在 60 分钟后删除共享首选项

    我想存储登录数据 但希望在 60 分钟后删除该数据 执行此操作的正确方法是什么 在这 60 分钟内可以关闭 停止 打开应用程序 我不想使用内部数据库 这是我的访问代码SharedPreferences sharedpreferences g
  • Android:WebView/BaseInputConnection 中的退格键

    我在 Android 4 2 中遇到软键盘退格问题 我在 WebView CodeMirror 中有一个自定义编辑器 它使用一个空的
  • 如何在同一设备上运行的 Android 应用程序之间传输文件?

    我正在编写一个与 RESTful 服务交互的 Android 应用程序 该 Web 服务本质上是一个文件系统 并提供元数据以及对文件的 CRUD 访问 我的应用程序检索元数据 并通过ContentProvider 我需要添加与我的应用程序在
  • 我在 android studio 中使用 kotlin 时出现错误

    为什么会出现这个错误 09 12 16 36 31 502 1886 1886 com getloction nourmedhat smartgate getlocation E AndroidRuntime 致命异常 main 进程 co
  • Android - 状态栏阻止全屏

    我的应用程序启动时可以全屏正确运行 然而 在最小化然后返回应用程序后 状态栏会弹出 并将我的视图向下推一点 如何防止状态栏移动我的视图 这是我的布局
  • 如何知道我的应用程序的活动计数?

    我的应用程序中有多项活动 请考虑以下案例 Activity A 调用 Activity B B 调用 C 当用户按后退键时 C 生成通知并转到 B 现在再次按后退 因此将显示 A 再次按后退键也会终止 A 并显示通知 现在 当用户按下通知图
  • 用于请求带有临时缓存的远程 Observable 的 RxJava 模式

    用例是这样的 我想暂时缓存最新发出的昂贵的Observable响应 但在它过期后 返回到昂贵的源Observable并再次缓存它 等等 一个非常基本的网络缓存场景 但我真的很难让它工作 private Observable
  • 在数组列表中过滤 Filterable 不取消之前的过滤

    我看过过滤器方法文档 其中显示调用过滤器会取消所有先前未执行的过滤请求 并发布一个稍后将执行的新过滤请求 但我收到的实际回调有些不同 在我的实现中 它不会取消先前的过滤器请求并调用publishResults 最近一次搜索条件后的上一次搜索
  • 如何正确处理 ListView 内的 Android EditText 输入?

    在我的应用程序中 我有一个在 a 中添加 删除 编辑记录的活动SortedMap 该活动作为以下活动的延伸实施ListActivity 我已经实现了自定义ArrayAdapter对于收藏品 Every ListView项目 对应于基础记录

随机推荐

  • struct{} 和 struct{}{} 在 Go 中如何工作?

    我想知道 Go 中的 struct 和 struct 是什么意思 示例如下 array index struct or make map type struct struct is a keyword https golang org re
  • 根据设备宽度使用 CSS 更改 div 顺序

    我正在开发一个响应式网站 遇到了一个有趣的问题 我有一些并排的 div 可能有 2 到 6 个左右 当屏幕不够宽而无法正确显示所有内容时 div 会垂直堆叠 使用 CSS 就足够简单了 问题是 我需要它们根据布局采用不同的顺序 这很容易用
  • Android viewpager:添加/删除页面时出现奇怪的错误

    我不知道如何解释 所以我上传了一个视频Youtube http www youtube com watch v o5sn31IX Gc当我添加页面时一切正常 如果我从列表末尾开始并逐渐移至第一页 则删除页面也有效 但如果我删除 0 端之间的
  • 如何使用复选框以交互方式过滤 visNetwork 中的节点/边? (使用R闪亮)

    使用 Shiny 和 visNetwork R 包我创建了一个交互式网络可视化 我希望用户能够通过使用用户界面中的复选框来删除 添加节点和边 我设法让它部分工作 但不知何故 当过滤多个项目时 我的解决方案不起作用 可以查看我试图实现的行为的
  • 如何在 Android Studio 中构建“发布”APK?

    我正在尝试构建一个可以上传到 Play 商店的 APK 当我在 Android Studio 版本 0 3 1 中选择 Build Generate Signed APK 时 我会被定向到有关如何在 gradle build 脚本 中正确设
  • 关闭所有 React Native 输入上的 autoCapitalize (iOS)

    我的大部分输入仅在 iOS 上自动大写 我知道有自动大写 https facebook github io react native docs textinput html autocapitalize我可以在每个输入上将其设置为 fals
  • 如何使用 PHP 读写编辑 pptx/docx/xlsx 文件?

    是否有库扩展可用于使用 PHP 有效处理 pptx docx xlsx 文件 到目前为止 我对 PPTX 文件更感兴趣 据我所知 这些文件格式 docx xlsx pptx 只是 zip 文件 它们属于 Office Open XML OO
  • Java-将文件复制到新文件或现有文件

    我想写一个函数副本 文件f1 文件f2 f1 始终是一个文件 f2 是文件或目录 如果 f2 是一个目录 我想将 f1 复制到该目录 文件名应保持不变 如果f2是一个文件 我想将f1的内容复制到文件f2的末尾 例如 如果 F2 具有内容 2
  • iOS中保存到照片库后获取UIImage数据

    将我的应用程序创建的图像保存到 iPhone 库并尝试将其恢复后 我遇到了问题 图像数据不同 创建图像 1 Code 我在不使用 alpha 的情况下创建图像 事实上 如果我使用 alpha 我会得到相同的结果 UIImage create
  • 既然 Angular 是双向数据绑定,为什么我应该在 Angular 中使用 Redux?

    据我了解 Redux 主要是为了在 javascript 应用程序中启用双向数据绑定 这对于非双向数据绑定的框架非常有用 例如 React 但为什么要在 Angular 中使用它 因为它本身就是双向数据绑定的 为了说明我的问题 我在本机 A
  • Angular:在 agGrid 中的动态列上设置默认排序的最佳方法

    我正在开发 agGrid 我们没有明确定义列 我一生都无法弄清楚如何在我的一列上设置默认排序 在初始化时我们这样做 public ngOnInit void this gridOptions defaultColDef this selec
  • Chimpjs 和 Meteor:不使用 Velocity 的测试中的方法调用

    此应用程序显示了使用 Cucumber 测试 Meteor 的示例 https github com mhurwi cucumber meteor tutorial https github com mhurwi cucumber mete
  • 在java中迭代集合时从集合中删除项目

    我希望能够在迭代集合时从集合中删除多个元素 最初 我希望迭代器足够聪明 能够让下面的简单解决方案发挥作用 Set
  • NvCplGetThermalSettings 返回 false

    问题 您好 我正在尝试使用 Delphi 获取 nividia gtx 980 的 GPU 温度 我看过C 问题 他的解决方案是不使用nvcpl dll 我认为这不是正确的解决方案 因为 nivida 有完整的文档说明如何处理 API 见下
  • Vue - API 调用属于 Vuex 吗?

    我正在努力寻找在 vue 模块中理想的 API 调用位置的答案 我不是在构建 SPA 例如 我的 auth 块有几个用于登录 密码重置 帐户验证等的组件 每个块都使用 axios 进行 API 调用 Axios 已经提供了异步的 Promi
  • 使 Primefaces 的数据表行在行版本上无效

    我正在使用 JSF 2 1 Primefaces 5 1 开发一个网络应用程序 我有一个带有行版本的数据表 每行有 2inputText 2 selectOneMenu and 1 selectBooleanCheckbox 我想在单击复选
  • 在合并的 csv 文件中添加附加列

    我的代码合并 csv 文件并使用 pandas 删除重复项 是否可以向单个合并文件添加带有值的附加标头 应该调用附加标头Host Alias并且应该对应于Host Name E g Host Name is dpc01n1以及相应的Host
  • HTML 元字符集应该是小写还是大写?

    通常情况下UTF应该大写 因为它是缩写 然而 HTML 中的属性通常是小写的 那么 应该是 or 我知道两者都有效 谢谢 字符集的值不区分大小写 来自spec whatwg org charset 属性指定文档使用的字符编码 这是一个字符编
  • 如何使用 Jade / Pug 渲染内联 JavaScript?

    我正在尝试使用 Jade http jade lang com 让 JavaScript 在我的页面上呈现 我的项目是在 NodeJS 和 Express 中进行的 一切都正常工作 直到我想在头部编写一些内联 JavaScript 即使采用
  • 测试权限和 Android 应用清单文件

    我想知道是否有办法添加某些权限 或任何东西 到 android 清单文件 但这样它仅在测试运行期间使用 不在生产期间使用 我正在寻找一些程序化的东西 而不是在测试时剪切和粘贴 这是上下文 我正在读这篇文章 http developer an