web-dev-qa-db-ja.com

エラータイプ3。アクティビティクラス{com.awesome_project / com.awesome_project.MainActivity}は、react native(Androidデバイス)に存在しません

次のコマンドを使用してプロジェクトを作成しました。

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.

前もって感謝します。

40
user5627316

確認してください 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">
58
parker

デバイスからアプリをアンインストールしましたが、[設定]> [アプリ]で確認できませんでした。次のようにしてアプリを完全にアンインストールすると、エラーはようやく消えました。

adb uninstall com.appname
26
Fran

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
11
Thanh Lam

adbコマンドを実行して、apkをインストールします(より多くの出力を提供する必要があります)Android dir in your project:adb install app/build/outputs/apk/app-debug.apk

私の場合、不十分な保管ケースでした

facebook/react-native issue #2885

9
user6923610

アプリケーション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に置き換えました。問題が解決しました!

7
Danny Harding

携帯電話に正常なビルドをインストールした後、この問題に遭遇しましたが、簡単に言えば、新規インストールを行うためにアンインストールする必要がありました。アプリをアンインストールし、react-native run-Android、このエラーを受け取りました。

一部のデバイスでアプリケーションを「アンインストール」すると、特定の期間内にアンインストールを取り消す場合にのみ無効になります。これを修正するために、設定の下でアプリケーションに移動し、アプリを選択して完全にアンインストールしました。その後、アプリを正常に再構築できました。これが誰かの助けになることを願っています。

5
wizloc

アプリを削除/アンインストールした可能性がありますが、設定/アプリをチェックインすると、完全にアンインストールされていないことがわかります。

  • 設定に移動。
  • アプリに移動します。
  • アプリを選択します。 (ここで、アプリが正しくアンインストールされていないことを確認できます)。
  • 右上のオーバーフローメニューを開き、すべてのユーザーの[アンインストール]を選択します。できたインストールしてから、アプリを再度起動してください。

ソース

3
Aditya

私の場合、アプリが自動的に開かない、他の問題はありません。

Androidデバイス(すべてのアプリケーションの場所を確認))でアプリのアイコンを検索し、それをタップしてアプリを手動で開くを実行します。パッケージャーは読み込みを開始しますいつものようにアプリ。

したがって、これはバグのようです。残念ながら、何が原因なのか本当にわかりません。

2
Andru

アプリの別の以前のバージョンをアンインストールしないために、このエラーが表示されることがあります。LG電話で、設定でアプリに移動してアプリをアンインストールする必要があります。

1

ソリューションが存在しないこの問題に直面している他の人について、ライブラリをリンクしている場合は、_settings.gradle_にある_ProjectName/Android_ファイルでincludeステートメントにアプリがあることを確認してください:_include ':ThirdPartyLibrary', ':app'_。 _:app_を忘れてしまい、実際のアプリではなく、サードパーティのライブラリをビルドしてインストールしていたため、問題が発生しました。

1
Kyle Erickson

この問題は、アプリをアンインストールし、react-native run-Androidもう一度。

以下は私のために働いた:
1。 [設定]メニューから[アプリケーションリスト]に移動します。
2。リストにアプリケーションが表示され、左側にメッセージが表示されます「このユーザーにはアプリがインストールされていません」
3。設定でそのアプリを開き、右上のメニューアイコンをクリックして「すべてのユーザーのアンインストール」を選択します。それが役に立てば幸い!

1
AkshayM

私の場合、間違ったpackage_name(client.client_info.Android_client_info.package_name)google-services.json(Firebaseから)。 @parkerが述べたように、これらの4つの値を一致させる必要がありました。

これは、アプリのbuild.gradleファイルでビルド変数を有効にしている場合に発生します。

React-nativeが実行されると、一部のファイルのパッケージ名は変更されますが、他のファイルは同じままになります。生成された新しいパッケージ名前空間に実際には存在しないため、アプリケーションは.MainActivityを見つけることができません。

この問題を修正しようとするいくつかの事柄があります:

  • アプリケーションクラスとアクティビティクラスの名前には、マニフェストファイルでFQDNを使用します。
  • Android cliファイルをこの one に置き換えます。これは/node_modules/react-native/local-cli/runAndroidのファイルです。

これで問題が解決するはずです。

0
prog_24

私は同じ問題について少し異なった見解を持っていました。

私は反応を使用していませんが、この同じ問題に遭遇しました。

このページですべての解決策を試しましたが、奇妙なことに、それぞれが1回機能しました。しかし、問題は再発し続けました。

結局、私はそれをすることがわかりました:

  1. adbアンインストールcom.appname

  2. その後、ハンドセットの再起動

発見以来、毎回問題を解決しました。

Samsung S8とAndroid 3.4.1。OKHttp以外のクレイジーなライブラリはありません。Macで実行しています。

0
addzo

まあ、これは手動でモバイルからapkをアンインストールすると発生します。MainActivityが存在しないことがわかります。解決策:設定でアプリに移動し、すべてのユーザーのアプリのインスタンスをアンインストールして、react-native run-Androidを使用して再実行すると問題が解決します

0
Pratik Karale

これは、プロジェクトパッケージ名を変更した後に起こりました。ここで他の回答をいくつか試しましたが、手動でAndroid/buildディレクトリ、再実行react-native run-Android srcからアプリを強制的に再構築します。古いパッケージ名への参照を含め、ビルドがキャッシュされたことがわかります。

0
wikt

上記のすべての回答を試してみましたが、ユースケースには何の結果もありません。

次のように実行することで最終的に解決しました:

react-native run-Android --variant=alphaDebug

アプリに複数のフレーバーがある場合、コマンドラインからバリアントを指定する必要があります

0

デバッグアプリケーションを携帯電話に手動でインストールすることで解決しました。

これを行うには、[Project_Path]\Android\app\build\outputs\apk\debug\app-debug.apkに移動します

このapp-debug.apkをモバイルデバイスにコピーします。

さあ、普通に携帯電話にインストールするだけで準備完了です。

0
Raj Rohit

私の場合、上記の解決策はどれもうまくいきませんでした。次に、その原因を見つけ、以前に同じパッケージ名でアプリケーションをインストールしました。電話からアンインストールしましたが、Oreoデバイスを持っているので、他のユーザーにもインストールされました。だから、すべてのユーザーからアンインストールすることで..私の問題を解決しました。あなたの場合には役に立たないかもしれません..しかし、これは私の回避策です。

0
Yash