IntelliJ Androidプロジェクトがあり、Android Studio 0.4.0に正常にインポートできました。マニフェストで何も変更しなければ、それは完璧に機能します。ただし、ランチャーのアクティビティを変更して実行しようとすると、次のエラーで失敗します。
Launching application: com.trackingeng/LandingActivity.
DEVICE Shell COMMAND: am start -D -n "com.trackingeng/LandingActivity"
-a Android.intent.action.MAIN -c Android.intent.category.LAUNCHER
Starting: Intent { act=Android.intent.action.MAIN
cat=[Android.intent.category.LAUNCHER] cmp=com.trackingeng/LandingActivity }
Error type 3
Error: Activity class {com.trackingeng/LandingActivity} does not exist.
プロジェクトをGradleファイルと同期 をクリックすると、次のように出力されます。
Project Sync
The project 'TrackingEng' is not a Gradle-based project
実行設定
私はリファクタリング後も同様の問題に直面しました。
これは私がこの問題を解決するためにしたことです:
Build
ディレクトリを削除しましたそして、すべてうまくいきました!
重要なのは IDE を再起動することです。
これがあなたや他の誰かに役立つことを願っています!
編集:
上記の手順がうまくいかない場合は、@ Yasithaが指摘しているように、Gradle Cacheを削除することが解決策のようです。
編集2
下のコメントで2、3人のユーザーが示唆しているように、時々問題はあなたのデバイスからアプリを完全に削除して再インストールすることで解決できる。
端末からadb uninstall <package>
と入力するだけで、デバイスからアプリを完全に削除できます。
Android Studio 2.1以降用のアップデート
Android Studio 2.1以降を実行している場合、[初期設定]で[インスタントラン]オプションを有効にしていると、この問題が発生する可能性もあります。
このオプションを無効にするには、Android Studio
トップメニューのPreferences
オプションに行き、Instant Run
を探すので、その画面の最初のチェックボックスをオフにします。
とにかくそれは私のためにそれを修正しました。もともとユーザー@yusufonderによって指摘された。 gradle installがまだうまくいっているので、私はこれが問題であることを発見しました。
誰かに役立つかもしれません: -
時々、デバイス上でテストするとき、 アプリは正しくアンインストールされません 。これを確認して修正するには
これはあなたが次のことをしたときに起こります。
ASはあなたがまだあなたのデバイスにアプリを持っていると思います。
tl; dr - これを解決するには、アプリをアンインストールした後にデバイスを切断して再接続するだけです。
デバイスを介してアプリをアンインストールするとき(すなわち、アプリを「アンインストール」オプションにドラッグするとき)、私はこの問題に直面するでしょう。しかし、これはアンインストールするための適切な方法です:
./gradlew uninstallAll
コマンドを使用してください。これはError: Activity class {HomeActivity} does not exist.
エラーを防ぎます。
更新:
あなたが怠け者なら、あなたはこのタスクの略語を使うことができます:./gradlew uA
。
または、.bash_profile
で一般的な課題タスクのエイリアスを定義すると、時間と入力が節約され、すべてのコマンドを覚えたり、入力ミスを心配する必要がなくなります。私はこれをすることを勧めます。
名前の変更/リファクタリングの後で同じエラーが発生しました。私がしたのはbuild.gradleファイルにapplicationId
プロパティ属性を追加し、その値をアプリケーションパッケージに設定することでした。
build.gradle :に
Android {
defaultConfig {
applicationId "com.example.myapp"
}
}
AndroidManifest.xml
ファイルでアクティビティの名前を変更してみてください。今それは言います:
<activity Android:name="LandingActivity" >
アクティビティの名前の先頭に ピリオドを追加する のいずれかを試してください。
<activity Android:name=".LandingActivity" >
または パッケージ名を アクティビティの名前の先頭に追加します。
<activity Android:name="com.trackingeng.LandingActivity" >
あなたのパッケージ名にピリオドで区切られた2つのコンポーネントしかないのも問題かもしれません(あなたのパッケージ名は "com.trackingeng"です;より標準的なパッケージ名は "com.trackingeng.app"になるでしょう)
私にとって問題は、AndroidStudio
thoughtがアプリがまだデバイス上にあることでした。
修正するには:
adb
デーモンを再起動します ;端末またはコマンドプロンプトで、次のように入力します。
adb kill-server
adb start-server
アプリを起動してみてください。
それでもうまくいかない場合は、 この答えをチェックしてください 。
Android SDKのplatform-tools
がシステムパス変数に追加されていることを確認してください。
私は問題が起こるもう一つの理由はそれがデバイス上のすべてのユーザーのために完全に削除されていないことであると思います。
[設定] - > [アプリ] - > [あなたのアプリ] - >右上の3つの点をクリックします - >すべてのユーザーのためのアンインストール
わたしにはできる。特に、アプリのアイコンを変更したり、AndroidManifest.xmlファイルを使ったりしていることがよくあります。
私のために、私はアプリをアンインストールしたときにそれが実際にデバイスから削除されるのではなく無効になったときにアンドロイド6上で。
設定>アプリ>アプリをクリックしてアンインストールします
これは私のためにそれを修正しました
デバイスに複数のプロフィールが設定されている場合、そのアプリはすでに他のプロフィールの1つに存在している可能性があります。
すべてのプロファイルからアプリをアンインストールすると、問題が解決しました。
私の場合は、起動しようとしていたアプリが別のユーザー用にデバイスにインストールされていたためです。 [設定] - > [アプリ](すべてのアプリ)に移動して、アプリを選択します。オーバーフローメニューをクリックして、[すべてのユーザーのアンインストール]を選択します。これで問題は解決するはずです。
私にとってそれは非常に特定の問題でした、私は私のアプリケーションをテストして、そして私が電話でそれをアンインストールした私のアプリデータをリセットするために Lg g5 を持っていますすぐにアプリをアンインストールできないので、1日以内にそれらを再インストールできます。だから、アプリは完全にそれが働いた携帯電話からアプリを削除した後にインストールされていますが、使用できません( 無効 )。
私は同じ問題に直面し、私はAndroid Studio 3.2 Beta 5を使用しています
に行く
File -> Invalidate Caches / Restart...
私のために解決した問題
私にも同じ問題がありましたが、上記の解決策のどれも私のために働きませんでした。問題は、Titanium Backup経由で実行しようとしていた特定のアプリがフリーズしたために、上記のエラーが発生したことです。私はEclipseとAndroid Studioの両方で試しました。
気付いた後、私はただアプリを解き放ち、それからそれを再び走らせた。
問題が解決しました :-)
以下の手順に従います。[モバイル設定]> [アプリ]> [アプリ]> [その他]> [すべてのユーザーのアプリをアンインストール]に移動します。
理由:携帯電話に複数のユーザーが存在し、そのアプリを1人だけアンインストールしたためです。
楽しい:
以下のコマンドは私のために働きました。時々アプリの部分的なアンインストールもこれを引き起こします。
以下のコマンドをterminal/cmdで実行してください。
adb uninstall <package_name>
その後、アプリケーションを再インストールしてください。それはうまくいくはずです。
私の場合、次の理由がありました。
私は2人のユーザーがいます:私とゲスト。そしてアプリはそれらの両方にインストールされていましたが、最初にのみ削除されました。
ゲスト画面に切り替えてそこからアプリを削除すると、アプリは正常にインストールされました。
これが誰かに役立つことを願っています:)
万が一誰かが私の問題にぶつかって他の解決策にうまくいかなかった場合...私はAmazonランチャー統合をデバッグしながらFireTVのためのadbを通して活動を始めようとしていました。しかし、私のプロジェクトには60種類のビルドバリアント(マルチプラットフォーム、マルチアプリケーションプロジェクト)があり、ランタイムパッケージ(およびクラスパス)がapplicationIdと異なるため、ApplicationIdはどのクラスパスとも一致しませんでした。
私はadb Shell am start -n com.myappid.example.packageone.packagetwo/com.myappid.example.packageone.packagetwo.MySplashActivity
を実行しようとしていました
(もちろん、build.gradleと実行時には別のapplicationIdという課題が追加されたため、com.runtimepath.example
との組み合わせを多数試しました)
最後に助けたのはこの投稿です https://stackoverflow.com/a/36255727/5970652
これは異なるフォーマットを明らかにしました! com.myappid.example/com.runtimepath.example.packageone.packagetwo.MySplashActivity
そのため、異なるランタイムクラスパスがある場合は、スラッシュの前にbuild.gradleのapplicationIdを指定し、その後ランタイムクラスパスを指定するようにしてください。
Logcatにそれらを記録したい場合は、それぞれBuildConfig.APPLICATION_ID
とthis.getLocalClassName()
からこれらの値を取得することもできます。
私は同じ問題を抱えていました、そしてそれは私の活動ランチャーをリファクタリングすることで解決しました、ただクラス名を変えるだけでそれはうまくいきます。
アプリケーションをデバイスから手動でアンインストールし、マルチユーザーをセットアップしている場合、このエラーが発生する可能性があります。アプリケーションは、デバイス内のすべてのユーザーからアンインストールする必要があります。
上記のどれも私のために働きませんでした。私はそれがどういうわけか破損していたのでアンインストールすることができませんでしたデバイス上のアプリのバージョンを持っていた。工場出荷時にデバイスをリセットしなければなりませんでした。それが単なる開発用デバイスであったという理由であまり煩わしくない
あなたが注意深くなくて、あなたがあなたのアプリマニフェストで何かを無効にしようとしているなら、あなたがアプリを無効にしないことを確認してください...
<application
Android:allowBackup="false"
Android:enabled="true"
...
誤ってenabled
をallowBackup
ではなく "false"に設定しました。解決策を探して2時間無駄にしました。
私は同様の問題に直面している私は以下の手順に従ってください。
それはあなたを助けるでしょう:
1-あなたのプロジェクトをきれいにする
2-ビルドディレクトリを削除します
3- Android Studioを再起動します
4-プロジェクトを再構築する
5-正常に実行されます。
ありがとう
アプリケーションに[ com.example ]のようなWordパッケージ名が2つしかない場合、すべてのクラスは[ com.example.SplashActivity ]のように[ com.example.SplashActivity ]のようにフルパスで指定する必要があります。 - .SplashActivity - /]これを変更してビルドフォルダをすべて削除し、アプリを再実行します。それが役立つことを願っています。ありがとう
私はLGスタイラスを持っています、そして私のテスト用電話では、アプリケーションは永久に削除されません。 [設定] - > [アプリケーション]で、注釈をオフにしたデバッグアプリケーション(ASによるインストールとデバッグを試行)を見つけました。アプリを携帯電話から削除すると、エラーが消えます。
私にとっては、Ubuntu 16.04上のAndroid Studio 3.1.2で、同じ問題に出会いました。これは私の同僚がパッケージ名を変更したときに起こり、それは彼のマシン上で問題ありません。きれいなプロジェクトもプロジェクト作業の再構築もありません。
私は、Android Studioの一番上のパネルにある[プロジェクトと同期ファイルを同期]ボタンを使用します。
私も過去のどこかで同じ問題に直面しました。 ファイル名の変更、プロジェクト内でのファイルの移動など、リファクタリングを行うと実際にこのような問題が発生しますファイルの名前の変更や移動は、ファイルを名前変更または移動するたびに行われます。
ビルド - >クリーンプロジェクト
プロジェクトをクリーンアップすると、 .class ファイルが削除され、プロジェクトが再コンパイルされます。基本的に、それはプロジェクトの再構築を余儀なくさせます。
時々そのような種類のエラーはプロジェクトをきれいにしてきれいにならなかったそしてそれからデバイス(それはエミュレータまたは物理的なものである)からアプリをアンインストールして、もう一度アプリを実行しようとする。これがあなたを助けてくれることを願っています、それは私を50%助けます。
注: - エラーが発生した場合は常にGoogleにアクセスしないでください。これでうまくいかない場合は、プロジェクトをクリーンにしてください。
私は同じ問題を抱えていました。 Android Studio 2.1.1のインスタントランを無効にすると問題が解決しました
私の解決策は、次のとおりです。Androidスタジオの「インスタントラン」を閉じます。
「インスタントラン」は次のステップで見つけることができます:環境設定 - >ビルド、実行、デプロイ - >インスタントラン
次に[インスタントランを有効にしてホットスワップを有効にする]チェックボックスをオフにします。
これは私のために働きました
モジュール設定 - > Falvors - >アプリケーションID - >(あなたのパッケージ名を追加)に行きます。
私は最近この問題に直面し、上記のすべての提案を試みました、そして問題は救われませんでした。やっとNDKを交換して問題が解決しました….
@ jayeffkayのコメントを参考にしました。
にあるグラドルキャッシュファイルを削除した後、それは私のために働きます
/your_proj_directory/.gradle/2.10
2.10は私の場合に使用されているgradleバージョンです。
Android/app/build.gradle
に移動して検索
buildTypes {
....
}
あなたはのようなものがあるかもしれません
buildTypes {
debug {
...
}
release {
...
}
customBuildType {
...
}
}
起動したいbuildType
を選択してからAppを起動します。
react-native run-Android --variant=[buildType] --appIdSuffix '[buildType]'
そう、
react-native run-Android --variant=debug --appIdSuffix 'debug'
上記の解決策のどれも私のために働かなかった、私はそれが働いた異なる装置で同じアプリを試した。最後に、私はアプリケーションが無効になっていることに気づきました。
それが私の場合の解決策でした
私はエラータイプ3を持っていました。私は以下のAndroidMainfest.xmlに以下のコードを追加することによってそれを修正することができました。
<activity Android:name=".GameActivity">
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
私の場合は、実際にパッケージ名を変更したところ、この問題が発生し始めました。
私は多くのトリックを試みましたが、ここで私は実際に私のために働いたことを説明しています。
アクティビティ名が正しいこと、およびマニフェストファイル内のパッケージ名が正しいことを確認してください。
クリーンビルドをするだけで私にはうまくいきました。
クリーンビルドをするには、次のようにします。
Build -> Clean Project
その後、デバイス上でビルドまたはストレートランを行います。
パッケージ名をマニフェストファイルとbuild.gradle(モジュール:app)で同じにしてください。itは私の問題を解決しました。
私のパッケージ名は "barisciftci. PatternApplier "のようでした。すべて小文字に変更することで私の問題は解決したので、今では "barisciftci.patternapplier"のように見え、それは本当にうまく機能します。
私は単にapp -> build
フォルダを削除してからプロジェクトを再構築することでそれを解決しました。ビルドフォルダーはプロジェクトのビルド後に自動的に再作成されるため、削除しても危険はありません。
パッケージの名前を変更した後、この問題に直面します。
最も簡単な方法は、ファイル - >キャッシュの無効化/再起動...を選択することです。
私は最近、同じ問題に直面している、 アプリを削除 Androidのマシンで/私の問題を解決しました。
これは通常、開発中のアプリをアンインストールしたときに発生します。アカウントを切り替えてアプリをアンインストールした場合は、guestアカウントをアクティブにしたかどうかを確認し、Adminユーザーに切り替えます(あなた)。そして続けて!
アプリが正しくアンインストールされていない場合に起こります。
以下のAndroid Studioのプラグインを使用して、デバイスからアプリをアンインストールします[デバイスの設定内でアプリが見つからなかった場合]。
ADBIdea: https://github.com/pbreault/adb-idea
ADBIdeaは、次のADBコマンドをAndroid StudioとIntellijに追加します。
コマンドを呼び出すには2つの基本的な方法があります。
[ツール] - > [Android] - > [ADBアイデア]メニューから[アクションの検索]で[ADB]を検索します(osx:cmd + shift + a、windows/linux:ctrl + shift + a)。
あなたが隠しバージョンを構築しているかどうかを確認してください。これは隠しアプリの意図した動作です。
通常のバージョンをビルドしたい場合は、Android StudioでBuild Variantを変更する必要があります。 ビルド> Build Variantの選択 、通常のバージョンに変更する。
私の場合、私はdefaultConfig
を2回定義しました。
理由はわかりませんが、間違いがある場合はもう一度確認してください。
私の場合に役立つトリックを共有したいと思います。私はデバイスからアプリケーションをアンインストールし、クリーン/再構築/ Android Studioの再起動操作の何も助けにはならなかった。
Android Studioはアプリケーションがまだデバイスにインストールされているとは見なしてデプロイしないと考えるので、ADBを使用してインストールを強制することができます。
adb install -r <your_application_from.apk>
-r
は、データを保持しながらアプリを再インストールすることを意味します。
誰かがこれを見ているのなら、
上記の修正が何もうまくいかなかったので、この修正は私にとってはうまくいきました:
これは私のために働きました
アプリはすでに他のユーザー用にインストールされています。すべてのユーザーに対して同じアプリをアンインストールしてください。それから試してみてください。
または、adbコマンドを実行した後に試すこともできます。
adb uninstall PACKAGE_NAME
pACKAGE_NAMEはcom.example.myappなどのフルネームです。
既存のプロジェクトから新しいプロジェクトを作成する場合
build.gradle
defaultConfig {
applicationId "xxxxxxxxx" //xxxxxxxxx should be "package name (com.demo.app) from AndroidMenifest.xml"
minSdkVersion 16
targetSdkVersion 28
versionCode 1
versionName "3.0.0"
ndk {
abiFilters "armeabi-v7a", "x86"
}
}
androidスタジオで[同期]をクリックします
他の人が指摘したように、この問題はアプリとAS接続をアンインストールしている間に接続されたデバイス/エミュレータによって引き起こされる可能性があります。最後に、プロジェクトの build フォルダをすべて(アプリケーションとプロジェクトディレクトリの下に)削除し、デバイス/エミュレータでアプリケーションを再起動します。
私のパッケージ名が私のアプリIDと一致しなかったため、これはreact-native run-Androidを使用して私に起こりました。 --app-id YOUR_APP_ID
を追加するだけです。
問題は、デバイスがまだ接続されているときにアプリをアンインストールすることによって発生しました。何が起こるかというと、デバイスがアプリを削除するのではなく無効にしています。
私は三星銀河を持っています。上記の設定で検索しても、アプリの設定にまったく表示されないため、機能しませんでした。
検索フィールドにアプリの名前を入力して、自分の携帯電話でアプリケーションを見つけました。私はそれが "Work"(Mobile @ Workを使って)プロファイルにあることに気付いてそれを削除しました。あなたは設定 - >仕事のプロファイル - >アプリに行くことによってプロファイルの設定を見つけることができます
私はこれが他の答えの多くがそれが設定で見つかるかもしれないと述べたのと同じ方法でそれを見つけないかもしれない誰かに役立つことを願っています。
Android Studio 3.1.3、2019年1月。ここで成功しなかったことをすべて試してみたあと、これが私にとってうまくいった唯一のことです。仮想デバイスを削除して、再度ダウンロードします。
Android 9デバイスの場合:アプリがデバイスにインストールされていない場合は、1)apkをビルドします。2)apkをデバイスに移動してインストールします。3)Android Studioに戻り、Runを押します - アプリを起動します。
24時間安全なアプリの削除(LG G6など)があるスマートフォンでアプリをテストする場合は、アンインストール後24時間ビンに保存されるため、設定でアプリを手動でアンインストールする必要があります。アプリはインストールされていると思いますが、それはあなたのスマートフォンのアプリスラッシュにあります。それは私のために働きました。
私の場合、スマートフォンがアプリをブロックしていた理由はわかりません。それを解決するために、Configuration-> Applicationに進み、アプリを見つけて「Unistall」を押しました。アプリケーションがメニューに表示されなかったため、設定に行きました。
私は誤ってこの問題を引き起こしていた余分な空の<application>
タグをAndroidMenifest.xml
に追加しました。私はそれを削除しましたそして今、すべてがうまく働いています
私は上記のすべての解決策を試したが、何も助けにはならなかった。それから私はすべての「実行」ログを読みました。私はこの線を見た
"Exception occurred while executing:
Android.os.ParcelableException: Java.io.IOException: Requested internal only, but not enough space"
私の問題は、アプリをインストールするための内部空き容量がないことでした。だから、私はいくつかのファイルを削除し、アプリは正常にインストールされます。
私は単純に解決しています(ビルドフォルダを削除しないでください):
最初の支持されたコメントが提供した場合のほかに、このエラーを引き起こす可能性がある別のケースがあります:出力apkファイルはAndroid Studioで置き換えることはできません、手動でそれを削除して構築できます。
出力パスを変更しなかった場合、デフォルトのapk出力パスは{Your Project Path}/app/build/outputs/apk/debug/app-debug.apk
です。
私はただビルド>プロジェクトの再構築に行き、私の問題は解決しました
インスタントアプリの開発中にこのエラーが発生した場合は、[デバイス設定] - > [アプリ]に移動して、デバイスからインスタントアプリを消去します。
私の場合、これはarmのコンパイル時にndk abiFiltersによって引き起こされていました。これを修正するには、app/build.gradleのAndroidブロックに次の 'split'セクションを追加する必要がありました。
splits {
abi {
enable true //enables the ABIs split mechanism
reset() //reset the list of ABIs to be included to an empty string
include "armeabi-v7a", "arm64-v8a", "armv7l"
universalApk true
}
}
他に何も私のために働かなかったので、これは私がこれまでのところリストで見たことがないまだ別の答えです。あなたがすべてのオプションを使い果たしてしまった場合、将来の検索者は、これを見ています -
私は Shelter App を利用して Android Work Profiles で遊んでいました - 私は自分のアプリケーションを作業プロファイルにコピーしました。
通常のプロファイルと仕事用のプロファイルの両方から自分のアプリを削除する必要がありました。そうするとアプリは正常に起動します。どういうわけか、作業プロファイル内の既存のパッケージがIDE deployの邪魔になっていました。
もしあなたが間違ってあなたのAndroidManifest.xml
に2つのランチャーActivityを持っているならば、それは起こるかもしれません:
<activity Android:name=".ActivityA">
<intent-filter>
<action Android:name="Android.intent.action.MAIN"/>
<category Android:name="Android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity Android:name=".ActivityB">
<intent-filter>
<action Android:name="Android.intent.action.MAIN"/>
<category Android:name="Android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
正しいLAUNCHERアクティビティを1つ残すだけ