1. ホーム

Reactネイティブの開発で遭遇するいくつかのポットホール

2022-02-13 08:33:43


ReactNativeがエラーを報告するか、AndroidStaudioがパッケージされたインストーラパッケージが新しいデータでない場合:unable to load script from assets 'index.android.bundl

回避策

プロジェクトのルートで実行する。

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/re

   (http://www.open-open.com/lib/view/open1477469117948.html)

  > **質問1: hoverboxの権限をONにする;**<br/>

  > **問題2:BatchedBridgeを取得できませんでした。バンドルが正しくパッケージされていることを確認してください**<br/>

  >解決策 ターミナルで、プロジェクトのルートディレクトリに移動し、以下のコマンドラインを実行します: <br/>

  > `react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/app/src/main/assets/index. android.bundle --assets-dest android/app/src/main/res/`/<br/>

  > 実行する前に、`android/app/src/main/` ディレクトリに `assets` フォルダがあることを確認し、ない場合は手動で作成してから、上記のコマンドを実行してください;<br/>

  >**問題4:run-Androidがassets 'index.android.bundl'からスクリプトをロードすることができないエラーを報告する

  >解決策 1 First go to \androidappsrcmain and create new assets folder

        2. 次に、ルートの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

  >解決策 携帯を振って、設定のプロパティウィンドウを表示させ、quot;Dev settings"をクリックし、Debug server hostをクリックして、IPアドレスの設定ウィンドウを表示させ、IPアドレスとポート番号8081を記入します、例えば、192.168.1.111:8081`です。

エラー :

コマンド `run-android` が認識されません。npm install` を実行し、react-native プロジェクト内にいることを確認してください。

解決方法

1. cmdのパスが正しいか確認する。

npm i -g npm

エラー:

開発サーバーがエラーコード:500を返しました。

解決方法

エラーです。index.android.js ファイルが見つかりませんでした code:500

解決方法 ファイルからwatchmanを削除し、対応するパスのパスを設定します。それでもダメなら、コンピュータを再起動してください。

エラーです。 ADBブリッジを作成できませんでした

回避策:1.adb kill-server adbを確認します。

2. adb start-server restart adb

エラーが発生しました。

開発サーバーに接続できませんでした

解決方法

エラーです。

unable to connect with remote debugger リモートデバッガへの接続中にタイムアウトが発生しました。

リモートデバッガータイムアウトでリモートデバッガに接続できない

回避策

一旦ケーブルを外し、再接続してから、runコマンドを再起動してください。

エラー

モジュール 'metro-bundler/src/lib/formatBanner' が見当たりません。

または

reactError: モジュール 'graceful-fs' が見つかりません。

解決方法

node_modules を削除して yarn install すると解決する。

エラー

解決方法

google-supportのインストール

不具合

* 何が問題だったのか

プロジェクト ':app' の設定に問題が発生しました。

> 構成 ':app:_debugApk' の依存関係をすべて解決できませんでした。

> プロジェクト ':react-native-image-crop-picker' を設定する際に問題が発生しました。

ビルドツールリビジョン27.0.0の検索に失敗しました。

回避策

C:♪Program Files (x86)♪Android android-sdk の下にある SDK Manager.exe を右クリックして、管理者として実行し、27.0.0 をインストールしてください。

質問

タスク ':app:prepareHaierLandAppReactNativeImagePickerUnspecifiedLibrary' の実行に失敗しました。

> Could not expand ZIP 'C:\UserswnyDesktopapp3trunkHaierLandAppnode_modulesreact-native-image-pickerandroidbuildoutputs aarreact-nat.

ive-image-picker-release.aar'.

メソッド:

cd android && gradlew clean && cd .&& react-native run-android

質問です。 GradleWrapperMainが見つからない、またはロードできない

回避策

android>gradle>wrapper の2つのフォルダを、良いプロジェクトのパッケージで置き換えます。(gradle-wrapper.jarとgradle-wrapper.properties)。

問題点

何が悪かったのか

xecution failed for task ':app:prepareHaie

ecifiedLibrary' です。

ZIP 'D:\1HaierLandAppn' を展開できませんでした。

ckerandroid buildoutputs ⇄aarreact-nativ

試してみてください。

スタックトレースを取得するために --stacktrace オプションを付けてください。

ソリューション react-native link react-native-image-crop-picker

問題点

ネイティブモジュール pickerModule が、モジュール名 imageCropPicker の PickerModule を上書きしようとした場合、canOverrideExistingModule= true に設定します。

メソッド https://blog.csdn.net/qq_34057640/article/details/71082605

This is inside Projectandroidappsrc ╱mainjava ╱projectMainApplication.java

protected List<ReactPackage> getPackages() { return Arrays.<ReactPackage>asList( new MainReactPackage().Arrays.<ReactPackage>asList( new MainReactPackage(),

new MainReactPackage(), (1つ削除) VectorIconsPackage() , new VectorIconsPackage() ); }.

VectorIconsPackageが重複している場合、(最初に手書きで入れて、リコンパイル時にまた自動で追加されたのでしょう)1つ削除すれば問題ありません。

エラー

adb reverse を実行できませんでした。コマンドは失敗しました。C:\Program Files (x86)\Android-sdk/platform-tools/adb -s 127.0.0.1:62001 reverse tcp:80 81 tcp:8081

解決方法

ipとポート番号を追加するシミュレータ

エラーが発生しました。

java.io.IOException。Could not delete path 'C:\UsersAdministratorAndroidStudioProjects╱SuperMarket

メソッドを使用します。

cd android

gradlew clean

エラー

React ネイティブのバージョンの不一致です。

JavaScrip バージョン:0.51.1

ネイティブバージョン:0.55.3

解決方法

android/app/build.gradleに以下のように記述し、React Nativeのバージョンを強制的にコンパイルするようにします ("com.facebook.react:react-native:0.51.1") { force = true }.

エラーです。

JSからの不正な呼び出し:フィールドサイズが異なる。

解決策

set this.setStarte({. <未定義

ここでの名前は、例えば , を持つことはできません。

isabbbb:"55"

})

エラーです。

アプリケーション haerLandApp は登録されていません。

アプリケーションは登録されていません

解決策:エディタを閉じる(複数のプログラムを同時に起動している可能性があります) http://blog.sina.com.cn/s/blog_a46b2a7d0102webl.html )

質問:

Build Tools リビジョン 26.0.2 の検索に失敗しました。

回避策

1. android-sdkのインストール先(C:㊧Program Files (x86)㊨Android-sdk)フォルダに移動します。

2. 管理者として右クリックし、SDK Manager.exeファイルを実行し、その中に不足している26.0.2をインストールすれば完了です。

エラーです。

u.notifyJSDidLoad

解決策 https://www.aliyun.com/jiaocheng/977379.html?spm=5176.100033.2.14.e6yy1b

// クリックイベントを受け取る前にこのインターフェースを呼び出す if(Platform.OS === 'android'){ // notifyJSDidLoad は Android でのみ利用可能 // JPushModule.notifyJSDidLoad((resultCode) => { // if ( resultCode === 0) {}. // }) // 公式サイトでは、上記は cb メソッド未定義エラーを報告します JPushModule.notifyJSDidLoad(resultCode=> console.log(resultCode))です。// これはエラーを報告しません、もちろんあります エラーなしで書く他の方法があります}。

エラーです。

[SDK Patch Applier v4, Google Repository]です。

解決方法 Open C:\Program Files (x86)\Android-sdk, right click as administrator to run "SDK Manager.exe", install Google Repository.

質問です。

Resolve-React-Native: Android プロジェクトが見つかりませんでした。最初にreact-native androidを実行するとよいでしょう。

  • ターミナルを開き、プロジェクトのルートに移動する
  • react-native upgradeコマンドを実行します。
  • プロンプトに従って、y、enterを入力し続けます。
  • react-native run-androidのコマンドを再入力します。

エラーです。

com.android.support:multidex:1.0.2 が見つかりませんでした。

回避策: androidbuild.gradleにgoogle()を追加する。

レポジトリー <未定義

jcenter()

グーグル()

}

依存関係 <未定義

クラスパス 'com.android.tools.build:gradle:3.1.2' を指定します。

// 注:アプリケーションの依存関係はここに置かないでください。

// 個々のモジュールの build.gradle ファイルにあります。

}

}

allprojects { <未定義

レポジトリー <未定義

mavenLocal()

jcenter()

グーグル()

メイヴン <未定義

// React Nativeの全て(JS、Obj-Cソース、Androidバイナリ)をnpmからインストールします。

url "$rootDir/...(ルートディレクトリ)。/node_modules/react-native/android"

}

}