相关疑难解决方法(0)

Android无法加载JS包

我正在尝试在我的Nexus5(Android 5.1.1)上运行AwesomeProject.

我能够构建项目并将其安装在设备上.但是当我运行它时,我得到一个红色屏幕说

无法下载JS包.您是否忘记启动开发服务器或连接设备?

在本机iOS中,我可以选择离线加载jsbundle.我怎么能为Android做同样的事情?(或者至少,我在哪里可以配置服务器地址?)

更新

要使用本地服务器运行,请在react-native项目根目录下运行以下命令

  1. react-native start > /dev/null 2>&1 &
  2. adb reverse tcp:8081 tcp:8081

请查看dsissitka的答案了解更多详情.

要在没有服务器的情况下运行,请通过运行以下命令将jsfile捆绑到apk中:

  1. 在下创建一个资产文件夹 android/app/src/main
  2. curl "http://localhost:8081/index.android.bundle?platform=android" -o "android/app/src/main/assets/index.android.bundle"

请查看kzzzf的答案以获取更多详细信息.

android react-native

194
推荐指数
7
解决办法
11万
查看次数

Gradle"...在Mac上发生了启动过程'命令'npm''"

我安装了IntelliJ Idea的MacOS.我正在使用Gradle(gradle-2.4)来构建项目.我在Mac上安装了NodeJS和NPM,可从shell获得.

MacBook:~ user$ node -v
v4.2.2
MacBook:~ user$ npm -v
2.14.7
Run Code Online (Sandbox Code Playgroud)

运行使用NODE/NPM的Gradle任务时,它会因以下错误而失败(在当前示例中为NPM).

* What went wrong:
Execution failed for task ':module:task'.
> A problem occurred starting process 'command 'npm''
Run Code Online (Sandbox Code Playgroud)

Gradle的错误堆栈跟踪如下.

Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':module:task'.
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
    at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
    at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:42)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
    at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
    at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:305)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:79)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:23)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:88)
    at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:29)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)
    at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)
    at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:68)
    at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
    at …
Run Code Online (Sandbox Code Playgroud)

macos intellij-idea gradle node.js

27
推荐指数
5
解决办法
2万
查看次数

在React-Native应用程序发布版本中看不到本地图像

在我的react-native应用程序中,我有"src"文件夹,其中包含Images文件夹和屏幕文件夹.我的屏幕文件夹有各种组件,我使用以下代码从图像中获取本地图像.

<Image source={require('src/Images/logo.png')} />
Run Code Online (Sandbox Code Playgroud)

logo.png是放置在Images文件夹中的图像,还有更多这样的图像像这样被引用.现在所有这些图像都在开发模式中很好地显示但是当我使用gradlew assemblerelease生成发布apk并在我的设备上安装apk时所有图像以这种方式引用消失在某处.不知道是什么原因所以请帮助我.我的react-native版本是0.40

release image local react-native-android

3
推荐指数
1
解决办法
8340
查看次数