Android Nativeを使用してReactアプリをビルドしましたが、正常にビルドされましたが、Android仮想デバイスでアプリを実行すると、次のエラー:
ネイティブアプリの開発はこれまでに行ったことがなく、Javaの知識もないので、このエラーの意味と修正方法がわかりません。
このエラーに関連付けられているパッケージの名前は、AirMapModule
ではなく、com.airbnb.Android.react.maps
からのMapsPackage
です。
ディレクトリ内のMainApplication.Java
:Android/app/src/main/Java/../../
で、次の重複エントリを削除します。
import com.airbnb.Android.react.maps.MapsPackage
new MapsPackage()
in function getPackages
ファイル「MainApplication.Java」に移動します(。\ Android\app\src\main\Java\com\projectNameの下)
GetPackages()関数の下に重複行がないことを確認してください(私の場合、「new MapsPackage()」が2回ありました)。
重複したインポートも修正します。
幸運を
MainAplicationファイルに移動します。
getPackages()
メソッドで重複パッケージを削除し、重複パッケージを削除します
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new VectorIconsPackage()
);
}
次に、ターミナルでこのコマンドを試してください:
@Override
public boolean canOverrideExistingModule() {
return true;
}
これらのコードをネイティブモジュールコンストラクターに追加しても問題ありません
MainApplication.Java
ディレクトリ内のファイルAndroid\app\src\main\Java
をチェックインしてみてください。
使用しているRNのバージョンが0.60以上の場合、自動リンクと手動リンクが同じことを2回行っている可能性があります。次の2つのオプションがあります。
1- getPackages
メソッドでコードの変更を元に戻すことができます
2- react-native-config.js
ファイルで自動リンクを無効にできます。
MainApplication.Java
、特にprotected List<ReactPackage> getPackages()
を確認してください。 AirMapModule
はおそらくリストの2回です