【发布时间】:2018-11-12 11:09:04
【问题描述】:
我有一个 React Native 应用程序,我正在尝试指定用于在 project.ext.react 中存储生成的源映射的文件夹,就像这样(我需要它来实现一个可以帮助我调试 JS 错误的库)
project.ext.react = [
...
extraPackagerArgs : [ "--sourcemap-output", "$buildDir/intermediates/assets/$buildType/index.android.bundle.map" ]
]
显然,路径应该类似于<buildDir>/intermediates/assets/<buildType>/index.android.bundle.map
(例如
<buildDir>/intermediates/assets/release/index.android.bundle.map 用于发布,<buildDir>/intermediates/assets/debug/index.android.bundle.map 用于调试)
在参考了 StackOverflow 和外部的几个答案后,我在 build.gradle 中获得了 buildType,方法是先声明它然后分配它:
//3rd line of build.gradle
def buildType
....
//much later
applicationVariants.all { variant ->
buildType = variant.buildType.name
....
但是,这会导致一个问题,即buildType 在使用后很长时间被初始化,因此输出路径变成了<buildDir>/intermediates/assets/null/index.android.bundle.map 之类的东西,因此对我来说整个过程都失败了。有没有办法提前获取构建类型?
【问题讨论】:
-
尝试使用
variant.name而不是buildType -
我可以在不声明 buildType 变量的情况下使用它吗?
-
variant.name不适合我的目的 -
库没有提供如何集成的指南?
-
该库将 buildType 硬编码为“release”,因此我在调试时遇到了构建失败。理想情况下,我希望在发布它之前完整地看到库函数完整的时间。 (github.com/reyalpsirc/react-native-fabric-crashlytics)
标签: android node.js react-native gradle android-gradle-plugin