我使用的是 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/