我试图从Android创建一个发布apk文件,但当我创建一个PNG图像的发布apk时,我收到Duplicate Resource错误.最初我认为这种情况正在发生,因为我在现有项目中犯了一个错误,但是当我用单个Image组件本身创建一个新项目时,我收到了Duplicate Resource错误.以下是我遵循的步骤
react-native init demoPNG在assets文件夹中添加图像.Image用上面的PNG图像实现组件.现在使用cmd捆绑它
react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/
然后使用Generate Signed APKfrom 生成release apk Android Studio.
这将抛出以下错误:
[drawable-mdpi-v4/assets_mario] /Users/jeffreyrajan/Tutorials/RN/errorCheck/android/app/src/main/res/drawable-mdpi/assets_mario.png [drawable-mdpi-v4/assets_mario] /Users/jeffreyrajan/Tutorials/RN/errorCheck/android/app/build/generated/res/react/release/drawable-mdpi-v4/assets_mario.png: Error: Duplicate resources
:app:mergeReleaseResources FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:mergeReleaseResources'.
> [drawable-mdpi-v4/assets_mario] /Users/jeffreyrajan/Tutorials/RN/errorCheck/android/app/src/main/res/drawable-mdpi/assets_mario.png [drawable-mdpi-v4/assets_mario] /Users/jeffreyrajan/Tutorials/RN/errorCheck/android/app/build/generated/res/react/release/drawable-mdpi-v4/assets_mario.png: Error: Duplicate resources
* Try:
Run …Run Code Online (Sandbox Code Playgroud) 嗨,我正尝试使用以下代码创建一个脱机捆绑包,以响应本机iOS进行测试
react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/main.jsbundle --assets-dest ios
Run Code Online (Sandbox Code Playgroud)
完成此操作后,我尝试使用命令运行该应用程序,react-native run-ios --configuration=release一旦完成,该应用程序将打开并立即崩溃。因此,我react-native run-ios这次使用的应用是在本地开发服务器上打开的,如果我终止开发服务器,则会收到未处理的JS异常错误。对于Android,我尝试了以下步骤以使其正常运行。
mkdir android/app/src/main/assetsreact-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/resreact-native run-android即使终止本地开发服务器,该应用程序也可以在Android上运行。对于构建适用于iOS的脱机捆绑包的任何帮助,均表示赞赏。
编辑1:
使用命令捆绑iOS后
react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/main.jsbundle --assets-dest ios
Run Code Online (Sandbox Code Playgroud)
我能够在iOS目录中生成main.jsbundle,然后执行以下步骤。
删除了所有文件,App Transport Security Settings并Allow Arbitrary Loads(true)在Info.plist文件中添加了文件。
编辑运行编辑方案以发布
从更改了jsCodeLocation
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@“ …
我在我的android项目中使用react-native-router-fluxreact-native.
当我运行我的项目时,它显示在我的下面错误emulator.
操作系统:Ubuntu 16.04
index.android
import React, { Component } from 'react';
import {AppRegistry,StyleSheet,Text,View,Image} from 'react-native';
import {Scene, Router} from 'react-native-router-flux';
import Movie from './src/view/Movies';
export default class testreact extends Component {
render() {
return
<Router >
<Scene key="root">
<Scene key="Movie" component={Movie} title="Movie"/>
</Scene>
</Router>
}
}
AppRegistry.registerComponent('testreact', () => testreact);
Run Code Online (Sandbox Code Playgroud)
电影
import React, {Component} from 'react';
import {AppRegistry, StyleSheet,Text, View,Image} from 'react-native';
import styles from './../res/styles/style';
var MOCKED_MOVIES_DATA = [
{title: 'Title', year: '2015', …Run Code Online (Sandbox Code Playgroud)