我收到了Android 8用户的报告,我的应用(使用后端Feed)没有显示内容.经过调查,我发现在Android 8上发生以下异常:
08-29 12:03:11.246 11285-11285/ E/: [12:03:11.245, main]: Exception: IOException java.io.IOException: Cleartext HTTP traffic to * not permitted
at com.android.okhttp.HttpHandler$CleartextURLFilter.checkURLPermitted(HttpHandler.java:115)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:458)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:127)
at com.deiw.android.generic.tasks.AbstractHttpAsyncTask.doConnection(AbstractHttpAsyncTask.java:207)
at com.deiw.android.generic.tasks.AbstractHttpAsyncTask.extendedDoInBackground(AbstractHttpAsyncTask.java:102)
at com.deiw.android.generic.tasks.AbstractAsyncTask.doInBackground(AbstractAsyncTask.java:88)
at android.os.AsyncTask$2.call(AsyncTask.java:333)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Run Code Online (Sandbox Code Playgroud)
(我删除了包名,URL和其他可能的标识符)
在Android 7及更低版本上一切正常,我没有设置android:usesCleartextTrafficManifest(并设置它true没有帮助,无论如何这是默认值),我也没有使用网络安全信息.如果我打电话NetworkSecurityPolicy.getInstance().isCleartextTrafficPermitted(),它会返回falseAndroid 8,true对于旧版本,使用相同的apk文件.我试图在关于Android O的Google信息上找到一些提及,但没有成功.
我刚开始学习React,facebook通过提供以下现成项目帮助简化初始设置.
链接到Github上的Facebook帐户:https://github.com/facebook/create-react-app
如果我必须安装骨架项目,我必须输入npx create-react-app my-app命令行.
我想知道为什么Github中的facebook帐户npx create-react-app my-app而不是npm create-react-app my-app?
我卸载了我以前版本的node.js(0.8.11)并从node.js网站下载了最新的0.10.24并安装了它.但是,在运行之后node --version,它仍然表明我正在运行v0.8.11.显然,在卸载过程中会遗留一些东西,并且在尝试通过npm添加模块时会导致各种错误.我已经看到了针对OSX和Linux的解决方案,但是找不到适合Windows的东西.我正在运行Windows 7 64位.
我在跑步
react-native bundle --platform windows --dev false --entry-file index.windows.js --bundle-output windows/app/ReactAssets/index.windows.bundle --assets-dest windows/app/ ReactAssets/
Run Code Online (Sandbox Code Playgroud)
命令创建发行包,但我收到以下错误
Unable to resolve module `AccessibilityInfo` from `C:\Users\godha.pranay\project\node_modules\react-native\Libraries\react-native\react-native-implementation.js`: Module does not exist in the module map
This might be related to https://github.com/facebook/react-native/issues/4968
To resolve try the following:
1. Clear watchman watches: `watchman watch-del-all`.
2. Delete the `node_modules` folder: `rm -rf node_modules && npm install`.
3. Reset Metro Bundler cache: `rm -rf $TMPDIR/react-*` or `npm start -- --reset-cache`. 4. Remove haste cache: `rm -rf $TMPDIR/haste-map-react-native-packager-*`.
Run Code Online (Sandbox Code Playgroud)
我尝试了互联网上推荐的一切,没有任何工作.我完全坚持下去了.请帮忙.
有没有人有任何组合React Native和Unity的经验?我正在寻找一个非常重的UI项目,我正在考虑使用React Native来利用其在移动和网络上的UI功能.
我很好奇这种方法的工作流程是什么.
BuildConfig.DEBUG当我运行应用程序时,为什么返回false?
我使用它来控制日志,如下所示:
public static void d(String LOG_TAG, String msg){
if(BuildConfig.DEBUG){
Log.d(LOG_TAG,msg);
}
}
Run Code Online (Sandbox Code Playgroud) 环境
Windows 10
Npm 5.5.1
react-native-cli 2.0.1
反应原生0.50.3
Genymotion谷歌Nexus 7 - 6.0.0 API 23
Android的东西:
Sdk版本:26
buildToolsVersion '26 .0.2'
TargetsdkVersion:26
编译"com.android.support:appcompat-v7:26.0.2"
我已经运行了npm start --reset-cache以及react-native start --reset-cache但是我一直无法识别JS服务器,继续构建.这可以防止打包程序在我的模拟器上运行之前捆绑资产.
我在这篇文章中遵循了解决方案1:
https://github.com/facebook/react-native/issues/9136#issuecomment-306486102
以及这一个:
我用react-native init APP开始了这个项目.使用此错误已经无法构建它.检查这里和使用npm cache clean和react-native start --reset-cache提到的其他站点的serval帖子,这似乎没有帮助我继续得到相同的错误.我曾经一次顺利运行,但我改变了一个npm包,我想我又把它弄坏了.任何帮助,将不胜感激.我还更新了gradle版本并将其同步到项目中
下面是我正在经历的一些截图...

**代码**
index.js
import { AppRegistry } from 'react-native';
import App from './App';
AppRegistry.registerComponent('hihi', () => App);
Run Code Online (Sandbox Code Playgroud)
App.js /***样本React Native App*https://github.com/facebook/react-native *@flow*/
import React, { Component } from 'react';
import {
Platform,
StyleSheet,
Text,
View
} from 'react-native';
const instructions = Platform.select({ …Run Code Online (Sandbox Code Playgroud) 我正在使用版本为0.38.0的React Native应用程序,当我尝试将其升级到0.45.1时,它显示以下错误
java.lang.RuntimeException: Unable to load script from assets 'index.android.bundle'. Make sure your bundle is packaged correctly or you're running a packager server.
at com.facebook.react.cxxbridge.CatalystInstanceImpl.jniLoadScriptFromAssets(Native Method)
at com.facebook.react.cxxbridge.CatalystInstanceImpl.loadScriptFromAssets(CatalystInstanceImpl.java:198)
at com.facebook.react.cxxbridge.JSBundleLoader$1.loadScript(JSBundleLoader.java:33)
at com.facebook.react.cxxbridge.CatalystInstanceImpl.runJSBundle(CatalystInstanceImpl.java:216)
at com.facebook.react.ReactInstanceManager.createReactContext(ReactInstanceManager.java:994)
at com.facebook.react.ReactInstanceManager.access$600(ReactInstanceManager.java:109)
at com.facebook.react.ReactInstanceManager$4.run(ReactInstanceManager.java:746)
at java.lang.Thread.run(Thread.java:761)
Run Code Online (Sandbox Code Playgroud)
我尝试过以下解决方案,但它对我不起作用
SO:无法从资源上加载脚本index.android.bundle在Windows上
SO:反应原生android无法加载JS包
在发布模式下,在设备上运行React Native应用程序时,我在启动时遇到崩溃(调试模式工作正常).主要错误似乎是:
AndroidRuntime:java.lang.RuntimeException:无法从资产'index.android.bundle'加载脚本.确保捆绑包正确打包或者您正在运行打包服务器.
我发现了有关此错误的各种线程,但有旧版本,并且没有提供的解决方案正常工作.
日志如下:
12-16 19:20:28.581 29088 29109 E AndroidRuntime: FATAL EXCEPTION: Thread-3
12-16 19:20:28.581 29088 29109 E AndroidRuntime: Process: net.cozic.joplin, PID: 29088
12-16 19:20:28.581 29088 29109 E AndroidRuntime: java.lang.RuntimeException: Unable to load script from assets 'index.android.bundle'. Make sure your bundle is packaged correctly or you're running a packager server.
12-16 19:20:28.581 29088 29109 E AndroidRuntime: at com.facebook.react.bridge.CatalystInstanceImpl.jniLoadScriptFromAssets(Native Method)
12-16 19:20:28.581 29088 29109 E AndroidRuntime: at com.facebook.react.bridge.CatalystInstanceImpl.loadScriptFromAssets(CatalystInstanceImpl.java:216)
12-16 19:20:28.581 29088 29109 E AndroidRuntime: at com.facebook.react.bridge.JSBundleLoader$1.loadScript(JSBundleLoader.java:32)
12-16 19:20:28.581 29088 29109 …Run Code Online (Sandbox Code Playgroud) 使用./gradlew assembleDebug构建apk后出现此错误.如果我使用./gradlew assembleRelease构建apk,我在手机上安装应用程序时出错.当我使用react-native run-android在虚拟设备中运行相同的应用程序时,应用程序正常运行,没有任何麻烦.有任何想法吗?
"dependencies": {
"react": "16.2.0",
"react-native": "0.52.0",
"react-navigation": "^1.0.0-beta.27"
},
"devDependencies": {
"babel-jest": "22.1.0",
"babel-preset-react-native": "4.0.0",
"jest": "22.1.1",
"react-test-renderer": "16.2.0",
"util": "^0.10.3"
},
Run Code Online (Sandbox Code Playgroud) react-native ×6
android ×5
javascript ×2
npm ×2
android-log ×1
build ×1
bundle ×1
crash ×1
gradle ×1
http ×1
https ×1
node.js ×1
npx ×1
reactjs ×1
windows ×1