android - 如何在 Android 上的 React Native 中包含和读取源映射文件

标签 android gradle android-gradle-plugin react-native

我正在尝试在 React Native 应用程序的 Gradle 构建过程中生成源映射,并在应用程序中读取源映射文件。

我以这个项目为起点:https://github.com/philipshurpik/react-native-source-maps

我没有成功地按原样包含它,所以我尝试采用并修改它的一部分。

app/gradle.build 我添加了: 项目.ext.react = [ extraPackagerArgs: ["--sourcemap-output", "$buildDir/intermediates/assets/release/index.map"] ]

事实上,当我运行发布版本时,我看到 android/app/build/intermediates/assets/release 下的文件 index.map ,但是当我将 APK 部署到设备或模拟器,我在 Android 的文件系统中的任何地方都看不到这个文件。就此而言,我也看不到 bundle 文件或 android/app/src/main/assets 中的任何文件,但我确实在 android/app/build/intermediates 中看到/assets/release 构建后。

应用程序代码使用https://github.com/itinance/react-native-fs读取文件。这是我首先检查文件是否存在的方式: const fileExists = await RNFS.existsAssets(`${RNFS.DocumentDirectoryPath}/index.map`) 并且该文件不存在。 RNFS.DocumentDirectoryPath 返回 /data/user/0/mypackagename/files ,当我检查时它是空的(使用具有根访问权限的 adb shell)。

我错过了什么?如何将源映射文件放到可供应用程序读取的位置?

最佳答案

原来 gradle.build 部分没问题,为了读取源映射文件,我只需要使用文件名,就像这样:RNFS.existsAssets('index .map')

关于android - 如何在 Android 上的 React Native 中包含和读取源映射文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48905593/

相关文章:

java - 在从主线程发布的主线程上启动线程?

Android - 如何使用 Intent 数据获取图像

gradle - Vaadin在styles.css上gradle项目HTTP 404

android - 如何告诉 Gradle 不要在我的 .jar 依赖项中排除 .so 文件?

gradle - 如何从Maven Central在Gradle中添加库?

android - 'texelFetch' : no matching overloaded function found in opengl es 3. 0

android - 从 Google Play 音乐获取封面艺术

java - 如何从 Intellij 中的 src 文件夹访问 Gradle 项目的 build 文件夹中生成的类

android - android studio Gradle同步失败:不知道如何为org.gradle.tooling.internal.gradle建立模型

gradle - gradle依赖关系更新失败