android - 有人成功地在 Android 的 React Native 中使用本地镜像吗?

标签 android image react-native

我使用的是 React Native 0.14.2。我在 github 上问过这个问题但是该 repo 协议(protocol)因太多问题而不知所措。希望我能在这里找到答案。

项目结构如下:

android-project
+---app
|   \---src
|       \---main
|           \---assets
|           \---java
|           \---res
+---reactnative
|   \---assets
|       \---image@1x.png
|       \---image@2x.png
|       \---image@3x.png
----index.android.js

这是显示图像的代码:

<Image
    source={require('./reactnative/assets/image.png')}
    resizeMode='contain'
    style={styles.image} />

以上代码在与本地主机 react-native start 一起运行时工作正常。但是在将 native 资源 bundle 到 apk 中后它不起作用:

react-native bundle --platform android -dev false --entry-file index.android.js \
--bundle-output app/src/main/assets/index.android.bundle \
--assets-dest app/src/main/res/

这是输出:

android-project
+---app
|   \---src
|       \---main
|           \---assets
|               \---index.android.bundle
|           \---java
|           \---res
|               \---drawable-xxxhdpi
|                   \---reactnative_assets_image1.png
|               \---drawable-xxhdpi
|                   \---reactnative_assets_image1.png
|               \---drawable-xhdpi
|                   \---reactnative_assets_image1.png
|               \---drawable-mdpi
|                   \---reactnative_assets_image1.png

用 React Native 生成​​ apk 的方法是否正确?请排除故障。谢谢!

最佳答案

在标准 JS 中使用 require() 时,给定的路径是相对的,因此给定的任何路径都需要相对于您需要它们的文件。最好的方法是不要将它们放在“android”和“ios”目录中,而是将它们与您的应用程序 JS 代码放在一个单独的目录中,并将图像存储在那里,这样路径会更短,并且每个操作系统都不会不同。

关于android - 有人成功地在 Android 的 React Native 中使用本地镜像吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33728163/

相关文章:

android - 如何将数组列表数据从一个对话框 fragment 传递到另一个对话框 fragment ?

android - 应用发明家 : Open links in new window from a webview?

html - 主体背景颜色和图像不显示

android - 从Play商店下载时无法加载应用程序,但可以安装生成的APK

android - 使用 CursorAdapter 获取 bindView 中的位置

android - Java.util.zip.ZipException : duplicate entry: com/google/common/base/FinalizableReference. 类

css - 在 bootstrap 列中将标题置于图像下方

java - 通过套接字以字节形式传输图像数据时,我不断收到 UTF 错误

android - react native ScrollView 不在 android 上滚动

Android 11 未在 app./storage/emulated/0/WhatsApp/Media/.Statuses/folder 中显示 WhatsApp 状态显示空结果