React Native - 从 package.json 到 android 构建清单的自动版本名称

2024-04-26

目前我有一个反应本机应用程序,我遇到的问题是在每次构建或提交时更新版本非常耗时。

另外,我启用了 Sentry,因此每次构建时,某些构建都会获得相同的版本,因此某些崩溃很难确定它们来自何处。

最后,手动更新版本很容易出错。

如何设置我的构建以在每次构建时生成自动版本并忘记所有这些手动任务?


虽然目前接受的答案可行,但还有一种更简单、更可靠的方法可以实现。 您实际上可以读取中设置的值package.json就从build.gradle.

修改你的android/app/build.gradle:

// On top of your file import a JSON parser
import groovy.json.JsonSlurper

// Create an easy to use function
def getVersionFromNpm() {
    //  Read and parse package.json file from project root
    def inputFile = new File("$rootDir/../package.json")
    def packageJson = new JsonSlurper().parseText(inputFile.text)

    // Return the version, you can get any value this way
    return packageJson["version"]
}

android {
    defaultConfig {
        applicationId "your.app.id"
        versionName getVersionFromNpm()
    }
}

这样您就不需要预构建脚本或任何东西,它就会正常工作。

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

React Native - 从 package.json 到 android 构建清单的自动版本名称 的相关文章

  • Android 谷歌地图圆圈平滑改变半径

    我想控制按进度条循环 但是谷歌地图APIsetRadius变化并不顺利 如何平滑改变圆半径 这是我的源代码 private Circle circle public void onMapReady final GoogleMap googl
  • 手电筒打开时 Android 相机的奇怪行为

    我有以下 android 代码 这里用伪代码编写 mCamera configAndInitialize all I want to do before taking picture mCamera startPreview mCamera
  • 所选设备不兼容 - Android Studio

    我之前已经解决了这个问题 但现在不能 我需要永久修复 在测试我的应用程序时 Android Studio 中的一切都很顺利 我现在遇到了 所选设备不兼容 的问题 当我去运行应用程序时 我想知道如何阻止它读取我手机的 API 作为 1 而不是
  • Nodejs中的模拟电子邮件功能

    我已经构建了一个邮件程序功能 并试图加强覆盖范围 事实证明 尝试测试它的某些部分很棘手 特别是这个 mailer smtpTransport sendMail var nodemailer require nodemailer var ma
  • 通过 adb 将触摸事件发送到设备[重复]

    这个问题在这里已经有答案了 我正在尝试使用以下方式将触摸事件发送到设备adb shell命令 这样我就可以为 UI 测试做一些基本的自动化 我已经关注了之前一些关于此问题的讨论 我确认了获取事件并使用sendevent 为每次触摸发送 6
  • NotificationCompact.Builder 和 ActionBarSherlock 的问题

    在下面的代码中 Eclipse发现错误 The method build is undefined for the type NotificationCompat Builder 在添加之前一切正常ActionBarSherlock htt
  • 聚合联系人会自动添加吗?

    您一定也在其他地方看到过这段代码 但显然这个异常没有答案 编辑 如果您来这里寻找通过 vcardio 恢复联系人的解决方案 这就是它 我在使用时得到了这个vCardIO http code google com p vcardio Andr
  • React Native iOS Release 构建停留在旧代码上,但 Debug 构建工作正常

    当我尝试构建我的 React Native 应用程序时XCode in Release mode在将其投入生产之前进行检查 它是否会陷入旧代码中 无论我对 JS 文件进行什么更改 它都不会执行此操作 在调试模式下 这种情况不会发生 只是正常
  • 在特定时间启动应用程序

    我想知道是否有可能 以及如何 在特定时间启动我的应用程序 就像在特定时间响起的闹钟一样 假设我希望我的应用程序在早上 8 点启动 这可行吗 您可以使用 AlarmManager 来完成此操作 这是一个简短的示例 首先你需要设置闹钟 Alar
  • 无法加载(查找)j2v8_android_x86 库

    我有一个使用的 gradle 项目j2v8 android 2 2 1 http mvnrepository com artifact com eclipsesource j2v8 j2v8 android 2 2 1库 为 V8 JS 引
  • 如何最高效地更新MongoDB中的大量文档?

    我想要最有效地更新大量 gt 100 000 文档 我的第一个天真的方法是在 JS 级别上进行 编写脚本 首先获取 ids 然后循环 ids 并通过 id 调用更新 完整 文档或 set 补丁 我遇到了内存问题 还将数据分成了最大块 500
  • SQLite 和共享首选项的优缺点[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在 SQLite 数据库和共享首选项之间存储信息的良好机制是什么 为什么要使用共享偏好设置 为什么使用sqlite 我试图找出它们之间的区别 以
  • Android EditText:在触摸时选择所有文本,并在用户开始输入时清除。

    我的应用程序中有一个编辑文本 当用户触摸编辑文本时 应选择整个文本 而当他开始输入文本时 应清除文本 一个例子是浏览器地址栏 有什么办法可以做到这一点吗 请帮助我 您可以使用以下方法选择 EditText 中的所有文本 android se
  • 从字符串渲染 React 组件

    我在字符串中有一些 React 代码 例如 const component function App return div test div 我希望能够从浏览器内渲染该组件 例如 import React Component from re
  • 导航抽屉图标不显示 android

    MainActivity java public class MainActivity extends FragmentActivity public DrawerLayout mDrawerLayout public ListView m
  • 源单元“_BuildScript_”中“语义分析”阶段出现异常

    评估根项目 android 时出现问题 配置项目 app 时出现问题 无法打开构建文件 C Users InFED Laptop Documents GitHub sustain and save android app build gra
  • ExpandableListView 和复选框

    我正在 Android 中编写简单的过滤器并想使用ExpandableListAdapter与复选框 我创建列表或检查复选框没有问题 但我真的不知道如何记住选择 关闭组并再次打开后或当我尝试打开不同的组时 复选框会发生变化 我尝试在网上阅读
  • 微信登录-收不到token

    我只是遵循了本文中提到的所有内容example https github com aaronbruckner wechatAndroidLoginDemo来自亚伦 布鲁克纳 尝试使用和不使用布尔标志来启用checkSignature 初始化
  • 我想分享带有单个标题的多张图片

    我想分享带有单个标题的多张图片 该标题显示在一张图像上而不是所有图像上 但标题会显示在一次共享的每张照片上 这是我的代码 private void pic with data Intent shareIntent new Intent sh
  • Android - 具有自定义视图的 android.view.InflateException

    嗨 我不断收到此错误 它是第 9 行的 android view InflateException xml 这是我的 xml

随机推荐

  • 如何为 SonarQube 扫描配置 Jenkins 管道

    我正在尝试为我的项目配置詹金斯管道 但这里缺少一些东西 如果有人可以指出我做错了什么 下面是管道脚本 node stage SonarQube analysis requires SonarQube Scanner 2 8 def scan
  • 协议缓冲区和 UTF-8

    编码方案 多操作系统和 Endian nes 的历史导致了对所有形式的字符串数据 即所有字母表 进行编码方面的混乱 因此 协议缓冲区仅处理其字符串类型中的 ASCII 或 UTF 8 并且我看不到任何接受 C wstring 的多态重载 那
  • 出现错误:User 类型的对象在 django python 中不可 JSON 序列化

    我是 django python 的新手 当我尝试从 3 个表获取数据时 出现错误Object of type User is not JSON serializable 任何人都可以帮我解释为什么我会收到此错误吗 在这里我添加了我的vie
  • 关于指针的c/c++问题(双指针)

    自从我学习 c 和 c 课程以来已经有一段时间了 我对 c 指针很好奇 我将在我的示例中使用 new 关键字 即使我知道 malloc 是 C 方式 我总是记得我的老师总是强迫我们使用指针 她永远不会接受数组的作业 她向我们证明 当您使用指
  • 使用页内 JSON 初始化 AngularJS $resource

    我正在使用 AngularJS 的 resource 来获取和更新对象 为了节省页面加载时的往返 我将 JSON 对象放在页面上的变量中 如何使用此数据初始化 resource 而不是调用 get 您可以使用new创建使用以下命令创建的资源
  • 在 asp.net mvc url 中格式化查询字符串的最佳方法?

    我注意到 如果您通过 asp net mvc 发送查询字符串路由值 您最终会将所有空格编码为 20 因为我希望将空格转换为 号 所以覆盖此格式的最佳方法是什么 我正在考虑也许使用自定义 Route 对象或派生自 IRouteHandler
  • 设计具有多个 id 的 RESTful 服务

    我正在设计一个 RESTful 服务 就是列出一组数据 主要问题是该集合没有合理的单一标识符 在系统的知识范围内也不能轻易地计算出特定的集合 因此 似乎不可能有 GET items identifier 服务 我确实有所请求的每个元素的 i
  • 融合表查询

    我有一个非常大的融合表 现在 我想根据用户需求进行查询 我的用户界面应该有一个下拉框来选择列的名称 另一个下拉框用于选择查询条件 gt user1225902 您需要在页面加载期间调用onLoad函数 我有同样的问题
  • 休息。球衣。如何以编程方式选择返回类型:JSON 或 XML?

    我有两个问题 1 我可以创建吗one类 使用 JAXB 注释对其进行注释 用于 XML 支持 并在中声明web xml
  • 为什么 Visual Studio 2008 中删除了在新 ATL 项目中使用属性的选项?

    这是来自 MSDN 评论的文本 根据 ATL Internals 2ed 一书 属性的使用已被弃用 不应在新的 ATL 项目中使用 但为什么 在 ATL 中 这些属性是编译器的技巧 它们不像 C 中的属性那样是平台的核心部分 它们的调试也比
  • 如何循环线程句柄并在完成后加入另一个循环?

    我有一个程序 它在循环中创建线程 并检查它们是否已完成并清理它们 如果已完成 请参阅下面的最小示例 use std thread fn main let mut v Vec
  • 使用比较器对映射进行排序

    我想Comparator实现排序TreeMap按照顺序 final String sequence People Object Environment Message Service Comparator
  • AT 命令 PHP

    我想使用 GSM 调制解调器从 php 发送消息 我已经配置了调制解调器并使用超级终端对其进行了测试 现在我想使用php执行AT命令 是否有可用的开源库或其他解决方案 由于我的 php 应用程序托管在 Apache Web 服务器上 因此我
  • 网页配置。使用规则元素将所有流量重定向到 www.my...。

    我有一个 web config 文件 它自动将流量发送到 HTTPS 但是 如果有人进入 MyDomain com 那么它将转到https mydomain com https mydomain com如果有人输入 www mydomain
  • Android - 检查数组中是否存在某个值

    我有一个名为 bob 的数组 其中包含值 String bob this is a really silly list 我如何知道名为 bob 的数组中是否存在 愚蠢 值而不迭代它 您可以使用List contains http docs
  • 在 VS Code 中折叠一行时,是否可以覆盖缩进并选择该折叠中包含哪些行?

    是否可以自定义 Visual Studio Code 中代码折叠的工作方式 我使用一种通用模式来定义各种不同文档类型的代码区域 因此 对于 XML 我将文本部分包裹起来 and 对于 c 我使用 region to endregion 对于
  • 如何在C#中捕获键盘上的按键

    我有个问题 我需要写一个C 程序 输入 允许用户输入多行文本 按 Ctrl Enter 完成输入 输出 标准化 按照时间增加的正确顺序重新排列行 我尝试过 但我不知道如何从键盘捕获 Ctrl Enter 我期望输出像 例子 Created
  • 如何在 Scrapy/Twisted 中使用线程,即如何在响应回调中对阻塞代码进行异步调用?

    我需要在Scrapy中运行一些多线程 多处理工作 因为我有一些使用阻塞调用的库 并在完成后将请求放回Scrapy引擎 我需要这样的东西 def blocking call self html do some work in blocking
  • 如何在 mozilla 上获取 Fabric.js 画布鼠标坐标

    这是在 google chrome 上运行的代码 var pointer canvas getPointer event e var posiX pointer x var posiY pointer y posiX Math round
  • React Native - 从 package.json 到 android 构建清单的自动版本名称

    目前我有一个反应本机应用程序 我遇到的问题是在每次构建或提交时更新版本非常耗时 另外 我启用了 Sentry 因此每次构建时 某些构建都会获得相同的版本 因此某些崩溃很难确定它们来自何处 最后 手动更新版本很容易出错 如何设置我的构建以在每