私はデバイス上でデバッグモードで反応しているネイティブアンドロイドアプリを起動しようとしていますが、devボックスをデベロッパーボックスで実行する必要はありません。私は両方のプラットフォームでデバッグバリアント/スキームを使用しています。これは、リリースとデバッグ以外のビルドモードでは反応のネイティブが親しみやすいものではありません。ネイティブAndroidに反応する - デバッグモードでデバイスでのみ実行する方法は?
AppDelegate.mを次のように変更することができました...基本的に、デバッグビルドでbuddybuildによって構築されたものであれば、jsバンドル用のdevマシンは探しません。デバイスを見て:
#ifdef DEBUG
NSDictionary *infoPlistDict = [[NSBundle mainBundle] infoDictionary];
if (infoPlistDict[@"BUDDYBUILD_BUILD_ID"]) {
// deployed via buddybuild, don't use localhost
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
} else {
jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle?platform=ios&dev=true"];
}
#else
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
#endif
...私はアンドロイドでこれを行う方法を探しています。私はAppDelegate.mのiOSで上記のようにアンドロイド上のjsバンドルの場所をプログラムで変更する方法を知りたいだけですので、私は必要なコードのbuddybuildビットを持っています。今、アンドロイド上のjsバンドルの場所に関連するすべてのコードは、反応ネイティブのパッケージ自体にあるようです。それを動作させるためには、むしろそれをハックしないでしょう。
これ以上の情報を提供できる場合は、教えてください。
私はあなたが実際に '反応し、ネイティブ実行アンドロイドとしてデバッグバージョンを構築する方法を示すことによって、この答えを完了すべきだと思います'うまく動かない。あなたは 'cd android && ./gradlew assembleDebug'を実行する必要があります。 – ssomnoremac
@ssomnoremac' react-native run-android'が動作するはずです。これはデフォルトでデバッグバージョンをビルドします。別のバリアント(例えば、リリース)をビルドする場合は、 'react-native run-android -variant = release'を使用します。 – Tspoon
あなたが言ったことを実行した後に' run-android'を実行しました。しかし、 'assembleDebug'または' varient = debug'のいずれかを実行した後、バニラrun-androidでバンドルされ始めました。それでもあなたが言及すべきだと思います。 – ssomnoremac