次のコマンドを使用してプロジェクトを作成しました。
react-native init Awesome_Project
次のコマンドを使用してパッケージャーを起動しました。
react-native start
USBドライブを使用してAndroidモバイルに接続しました。
別のコマンドプロンプトを開き、次のadbコマンドを実行して、1つのデバイスのみが接続されていることを確認しました。
adb devices
次のコマンドを使用してアプリケーションを開始しました。
react-native run-Android
次のエラーに直面しました。
open: Permission denied
open: Permission denied
Starting: Intent { com.awesome_project/.MainActivity }
Error type 3
Error: Activity class {com.awesome_project/ com.awesome_project.MainActivity} does not exist.
前もって感謝します。
確認してください Android>app>build.gradle
defaultConfig {
applicationId "WHATEVER_THIS_IS"
}
一致する必要があるAndroid>app>src>main>Java>com>app_name>MainActivity.Java
1行目:
package WHATEVER_THIS_IS;
一致する必要があるAndroid>app>src>main>Java>com>app_name>MainApplication.Java
1行目:
package WHATEVER_THIS_IS;
一致する必要があるAndroid>app>src>main>AndroidManifest.xml
1行目:
package="WHATEVER_THIS_IS">
デバイスからアプリをアンインストールしましたが、[設定]> [アプリ]で確認できませんでした。次のようにしてアプリを完全にアンインストールすると、エラーはようやく消えました。
adb uninstall com.appname
AppIdSuffixがある場合は、react native runコマンドのコマンドに追加する必要があります。
eg. react-native run-Android --appIdSuffix beta
Package.jsonにショートカットを追加し、npm経由で実行する必要があります。
...
"scripts": {
...
"Android-beta": "react-native run-Android --appIdSuffix beta",
},
次に実行するだけです:
npm run Android-beta
adbコマンドを実行して、apkをインストールします(より多くの出力を提供する必要があります)Android dir in your project:adb install app/build/outputs/apk/app-debug.apk
私の場合、不十分な保管ケースでした
facebook/react-native issue #2885
アプリケーションIDをcom.appName
からcom.companyName.appName
に変更し、Android>app>build.gradle
でこの更新を行いました。
defaultConfig {
applicationId "com.companyName.appName" // was previously "com.appName"
}
また、ファイル構造をAndroid>app>src>main>Java>com>appName
からAndroid>app>src>main>Java>com>companyName>appName
に変更しました。これは、エラーが発生したときです。
エラーを修正するために、私は単純にプロジェクト全体の検索(AtomのCMD-SHIFT-F
)でcom.appName
を検索し、すべてをcom.companyName.appName
に置き換えました。問題が解決しました!
携帯電話に正常なビルドをインストールした後、この問題に遭遇しましたが、簡単に言えば、新規インストールを行うためにアンインストールする必要がありました。アプリをアンインストールし、react-native run-Android
、このエラーを受け取りました。
一部のデバイスでアプリケーションを「アンインストール」すると、特定の期間内にアンインストールを取り消す場合にのみ無効になります。これを修正するために、設定の下でアプリケーションに移動し、アプリを選択して完全にアンインストールしました。その後、アプリを正常に再構築できました。これが誰かの助けになることを願っています。
アプリを削除/アンインストールした可能性がありますが、設定/アプリをチェックインすると、完全にアンインストールされていないことがわかります。
私の場合、アプリが自動的に開かない、他の問題はありません。
Androidデバイス(すべてのアプリケーションの場所を確認))でアプリのアイコンを検索し、それをタップしてアプリを手動で開くを実行します。パッケージャーは読み込みを開始しますいつものようにアプリ。
したがって、これはバグのようです。残念ながら、何が原因なのか本当にわかりません。
アプリの別の以前のバージョンをアンインストールしないために、このエラーが表示されることがあります。LG電話で、設定でアプリに移動してアプリをアンインストールする必要があります。
ソリューションが存在しないこの問題に直面している他の人について、ライブラリをリンクしている場合は、_settings.gradle
_にある_ProjectName/Android
_ファイルでincludeステートメントにアプリがあることを確認してください:_include ':ThirdPartyLibrary', ':app'
_。 _:app
_を忘れてしまい、実際のアプリではなく、サードパーティのライブラリをビルドしてインストールしていたため、問題が発生しました。
この問題は、アプリをアンインストールし、react-native run-Android
もう一度。
以下は私のために働いた:
1。 [設定]メニューから[アプリケーションリスト]に移動します。
2。リストにアプリケーションが表示され、左側にメッセージが表示されます「このユーザーにはアプリがインストールされていません」。
3。設定でそのアプリを開き、右上のメニューアイコンをクリックして「すべてのユーザーのアンインストール」を選択します。それが役に立てば幸い!
私の場合、間違ったpackage_name(client.client_info.Android_client_info.package_name
)google-services.json(Firebaseから)。 @parkerが述べたように、これらの4つの値を一致させる必要がありました。
これは、アプリのbuild.gradleファイルでビルド変数を有効にしている場合に発生します。
React-nativeが実行されると、一部のファイルのパッケージ名は変更されますが、他のファイルは同じままになります。生成された新しいパッケージ名前空間に実際には存在しないため、アプリケーションは.MainActivityを見つけることができません。
この問題を修正しようとするいくつかの事柄があります:
/node_modules/react-native/local-cli/runAndroid
のファイルです。これで問題が解決するはずです。
私は同じ問題について少し異なった見解を持っていました。
私は反応を使用していませんが、この同じ問題に遭遇しました。
このページですべての解決策を試しましたが、奇妙なことに、それぞれが1回機能しました。しかし、問題は再発し続けました。
結局、私はそれをすることがわかりました:
adbアンインストールcom.appname
その後、ハンドセットの再起動
発見以来、毎回問題を解決しました。
Samsung S8とAndroid 3.4.1。OKHttp以外のクレイジーなライブラリはありません。Macで実行しています。
まあ、これは手動でモバイルからapkをアンインストールすると発生します。MainActivityが存在しないことがわかります。解決策:設定でアプリに移動し、すべてのユーザーのアプリのインスタンスをアンインストールして、react-native run-Androidを使用して再実行すると問題が解決します
これは、プロジェクトパッケージ名を変更した後に起こりました。ここで他の回答をいくつか試しましたが、手動でAndroid/build
ディレクトリ、再実行react-native run-Android
srcからアプリを強制的に再構築します。古いパッケージ名への参照を含め、ビルドがキャッシュされたことがわかります。
上記のすべての回答を試してみましたが、ユースケースには何の結果もありません。
次のように実行することで最終的に解決しました:
react-native run-Android --variant=alphaDebug
アプリに複数のフレーバーがある場合、コマンドラインからバリアントを指定する必要があります
デバッグアプリケーションを携帯電話に手動でインストールすることで解決しました。
これを行うには、[Project_Path]\Android\app\build\outputs\apk\debug\app-debug.apkに移動します
このapp-debug.apkをモバイルデバイスにコピーします。
さあ、普通に携帯電話にインストールするだけで準備完了です。
私の場合、上記の解決策はどれもうまくいきませんでした。次に、その原因を見つけ、以前に同じパッケージ名でアプリケーションをインストールしました。電話からアンインストールしましたが、Oreoデバイスを持っているので、他のユーザーにもインストールされました。だから、すべてのユーザーからアンインストールすることで..私の問題を解決しました。あなたの場合には役に立たないかもしれません..しかし、これは私の回避策です。