Expo XDEを使用してプロジェクトを作成しました。私はこれをチェックしました expoアプリをロードできません:何かがおかしくなりました しかし、私はすでに「他のアプリの上に描画」を有効にしました。 https://expo.io/@ajaysaini/first-proj このQRコードをスキャンすると、Android device XDEから。
main.js
import Expo from 'expo';
import React from 'react';
import { StyleSheet, Text, View } from 'react-native';
class App extends React.Component {
render() {
return (
<View style={styles.container}>
<Text>Updating!</Text>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
},
});
Expo.registerRootComponent(App);
デバイスで実行すると、Androidデバイスでエラーが表示されます。XDEで複数回再起動しようとしましたが、助けにはなりませんでした。
Dependency graph loaded.
11:19:21 AM
Starting React Native packager...
11:19:24 AM
Scanning 528 folders for symlinks in D:\Expo\first-proj\first-proj\node_modules (18ms)
11:19:24 AM
Loading dependency graph.
11:19:24 AM
Running packager on port 19001.
11:19:25 AM
11:19:33 AM
Project opened! You can now use the "Share" or "Device" buttons to view your project.
11:19:44 AM
Opening on Android device
11:19:54 AM
Dependency graph loaded.
11:21:41 AM
Opening on Android device
11:23:31 AM
Opening on Android device
エラー:
There was an unhandled error: Could not load exp://
Stack Trace:
誰が私が間違っているのか私を助けることができますか?
XDEクライアントを開いて、開発モードを有効にするとよいでしょう。次に、灰色の歯車をクリックして、Host> LAN(ローカルエリアネットワーク-WiFi経由でパッケージを実際のデバイスと共有することを意味します)。
Localhostオプションも同様に機能しますが、 Expo Debugging docs によると:
LANを使用している場合、デバイスが開発マシンと同じwifiネットワーク上にあることを確認してください。これは、一部のパブリックネットワークでは機能しない場合があります。 localhostは、シミュレータを使用していない限りiOSで機能しません。また、デバイスがUSBを介してマシンに接続されている場合にのみAndroidで機能します。
また、ここでは数か月前に書いた有益な答えがあります。これも役立つかもしれません: Expoを使用して実際のiOSデバイスでアプリを実行するにはどうすればよいですか
同じ問題に遭遇しましたが、解決策はありませんでした。ここでの問題は、Expoが電話が接続できない間違ったIPアドレスを表示することです。
これは私がそれを回避した方法です。 Windowsを使用しており、LANを使用してデバイスでアプリを実行していると仮定します。
ipconfig
と入力して、ローカルIPを見つけます。 IPv4 Address
セクションの下にWireless LAN Adapter
としてリストされているはずです。 192.168.xx.x
のようなものになりますexp://192.168.xx.x:19000
と入力します。このテキストをクリップボードにコピーします。Open from Clipboard
オプションが表示されます。それを押すと、アプリがロードされます。これで、アプリをロードするときはいつでも、同じアドレスをコピーしてExpoで開くことができます。
私が見つけた別の簡単な回避策があります。
set REACT_NATIVE_PACKAGER_HOSTNAME=192.168.xx.x
の前にexpo start
コマンドを実行します。これにより、Expo Dev Toolsで正しいIPが設定されます。
お役に立てれば。
問題は、間違ったネットワークアダプターの優先順位を使用していることが原因である場合があります。
ターミナルを開いて実行します
ipconfig
メインLANアダプターが最初のアダプターとしてリストされていない場合、アダプターの優先順位を変更すると問題が解決する場合があります。手順に従ってください:
[コントロールパネル]> [ネットワークとインターネット]> [ネットワーク接続]に移動します。
メインLANを右クリックします
[プロパティ]> [インターネットプロトコルバージョン4]をクリックします
[プロパティ]> [詳細]をクリックします
「自動メトリック」のチェックを外します
「インターフェースメトリック」に10を入力します
OKをクリック
前提:NPM/Yarnを介してコンピューターにExpo( https://expo.io )をインストールし、Android/iPhoneにExpoをインストールしました。また、電話はコンピューターと同じwifiネットワーク上にあります。
私のコンピューターはWiFI経由で接続されていましたが、これは私にとって問題でした。 Windows:コマンドライン:$ipconfigコンピューターのWifi IPアドレスを検索します。私はIp v4でした:192.168.1.xxxPhonesWebブラウザーのURLを入力:exp://192.168.1.xxx: 19000その後、テキストが表示されます。これは、電話がネットワーク経由で接続していることを示します(良い兆候)。電話で博覧会を開き、クリップボードを介してリンクを確認します。電話のExpoプログラム内にあるClipboardでリンクをクリックします。次に、携帯電話にアプリをロードします。これは私のために働いた。 P.s Expoが初めて機能するときは、Expoに許可を与えるなどの指示に従ってください。
ファイアウォールを使用する場合は、ポート19000および19001がホワイトリストに登録されていることを確認してください。
React Nativeチーム-Genymotionソフトウェアをインストールして実行するための推奨事項:
アプリケーションが正常に実行された場合、たとえば次のようにIpVアドレスが同一になります。
exp://10.0.0.125:19000 and
ipconfig -> IPv4 Address. . . . . . . . . . . : 10.0.0.125
私の場合はVPNでした-切断後にモバイルをVPNに接続しました!
Npmとnodeを更新して問題を修正しました。
何らかの理由でドッカーとの競合を作成していましたが、それを無効にして問題なく動作しました。
たぶんこれは、電話とコンピュータが異なるネットワーク上にある場合にこのようなエラーが発生することを簡単に説明するのに役立つかもしれません。
テザリングによってこの問題を解決したため、2つのデバイスが同じネットワーク上にありませんでした。
つまり、両方のデバイスを同じWiFiに接続して、動作するはずです。
誰かが同様の問題を抱えている場合、私の問題は、node.jsがネットワークに接続することを許可するように要求する必要があり、機能しました。
ラップトップとAndroidデバイスが同じネットワークに接続されていることを確認してください。