Androidの「アプリがインストールされていません」エラー


425

Android Emulatorで動作するプログラムがあります。時々、署名された.apkを作成し、それをHTCの欲望にエクスポートしてテストしています。すべて順調です。

エクスポートした最新の.apkで、.apkをインストールしようとすると、「アプリがインストールされていません」というエラーメッセージが表示されます。エミュレータ上では問題なく動作します。

私は主にエミュレータでテストしていて、たまにしか実際の電話にエクスポートしていないので、いつこれが起こったのかわかりません。物理的な電話にインストールされず、エミュレータで正常に動作している可能性のある原因は何ですか?

電話を再起動して既存の.apkを削除しようとしましたが、障害は修正されません。


5
既存の.apkを削除したと言ったら、電話からアプリケーションをアンインストールしたということですか?そうでない場合は、アプリケーションをアンインストールしてから再度インストールしてください。
Telmo Marques

9
TOMSは実行し、言ったadb uninstall your.package.name当時とadb install /path/to.apk。それがうまくいかない理由がわかりません。署名手順に何か変更を加えましたか?
Felix

2
コンピューターに接続されているデバイスのEclipseから直接デバッグして、ログにさらに何かが表示されていないか確認しましたか?
Javi、

1
電話のアプリケーションマネージャーからアンインストールオプションを使用してアプリを削除しました。
Entropy1024 2010年

フェリックス。このadbはどこから実行しますか?
Entropy1024 2010年

回答:


265

主に古い電話用

App not installed4.4.2別名KitKatで動作する携帯電話にapkをインストールしようとしたときにエラーが発生しましたが、私の友人は6+以上で動作する彼の携帯電話でこのエラーに遭遇しませんでした。apkはリリースバージョンであるため、アプリの古い/デバッグバージョンを削除する、デバッグアプリのデータを消去する、キャッシュされたデータをすべて消去するなど、他の解決策を試しました。次に、署名されたAPKをビルドするときに両方の署名バージョンを選択するだけでよいことに気が付きました。

enter image description here

V2 (Full APK Signature)選択する前だけでなく、選択後V1 Jar Signatureも4.4.2デバイスに署名済みAPKを正常にインストールできました。これが他の人に役立つことを願っています!


6
古い電話を持っている場合は、このソリューションを考慮してください!Android 4.4.2を搭載したGalaxy S4 miniを使用していますが、「V1署名」を確認するのを忘れたため、デバイスにインストールできません。チェックすると、apkはチャームのようにインストールされます。
ホセラモンガルシア

1
@JoseRamonGarciaおもしろいのは、私がまったく同じ電話とAndroidバージョンのハハを持っているということです!それがうまくいったこと
Chris Gong

1
ありがとうございました!Android Studioは、アプリケーションに署名するときにこれについてより多くの情報を提供するか、またはチェックしない場合の動作をより明確にする必要がありますV1 (Jar Signature)
melledijkstra

私の場合、この構成をマニフェストファイルandroid:installLocation = "internalOnly"に追加する必要があります
avinash kumar

1
問題が発生したとき、私は最初にv2で署名しました。次に、v1のみで署名し、それが機能しました。携帯電話でsdk23を実行しています。
アンバー

206

私にとっては、Android 9(API 28)では、PlayストアアプリからGoogle Playプロテクトを無効にすることでうまくいき、App not Installedエラーを取り除くことができました。

Google Playプロテクトを無効にします。「Playストア」アプリケーションを開く=>メニューボタンをタップ=>「Playプロテクト」オプションを選択=>オプション「セキュリティ上の脅威をスキャンする」を無効にします。


4
最初にアプリをインストールしようとしたときに、アプリが安全であることを確認できないというメッセージがPlayプロテクトに表示され、「インストール」を押してもアプリがインストールされません。このオーバーライドは機能しました
user2565663

Androidエミュレーター(API 28)にPlayストアがありません。
ジェリードッジ

3
Android 8の場合も同様です(報告された7と9のギャップを埋めるためだけです)。
クリアデーモン

3
これは正常に動作します。APKをインストールしたら、設定を元に戻すことを忘れないでください。
Rahamath

おかげで、私のXiaomi Redmi 5 Plusの問題を解決しました
Nicola Gallazzi

150

私は同様の問題を抱えていましたが、それは同じapkの以前のバージョンを使用して電話にapkをインストールしようとしていたためであり、両方のapkが同じ証明書で署名されていませんでした。同じ証明書を使用した場合、以前のインストールを上書きできましたが、バージョン間で証明書を変更すると、インストールできませんでした。同じ証明書を使用していますか?


9
はい、同じ証明書です。私は以前にそれを持っていたと思います。私は電話の既存のアプリを削除しようとしました、そしてまた署名されていないバージョンをインストールしようとしました。それでも同じエラーメッセージが表示される。
Entropy1024 2010年

2
私も同じ問題(以前のバージョンと他の証明書)を抱えていました-具体的には、デバッガーを使用するために暗黙的にインストールしました。削除することで解決しました(以下のように、あなたのケースではありませんが、ここに登録する価値があります)
chesterbr

11
この投稿には30以上の回答があります。私がお勧めするのは、この問題に直面したときはいつでも、アプリのインストール中にデバイスのログを観察することです。adb logcatを使用します。インストールの失敗の正確な原因を知ることができます。私の問題のログは、「パッケージcom.companyname.appnameの署名が以前にインストールされたバージョンと一致しません。無視します!」です。
Manikandan

パッケージ名を変更しました。そしてそれは働いた。同じパッケージ名で複数のアプリをテストしたため、エラーが発生しました。
user30478

120

明らかに、この問題には多くの原因があります。私にとっての状況は次のとおりです。AndroidStudio(v1.3.2)内からnexus 7(実際のデバイス)に展開しました。すべてうまくいきました。次に、署名済みのAPKを作成し、Googleドライブにアップロードしました。ネクサスをUSBから切断した後、設定/アプリに移動してアプリ(App1)をアンインストールしました。次に、Googleドライブを開いてApp1.apkをクリックし、それをインストールすることを選択しました(設定でAPKのインストールを許可していることを確認する必要があります)。次に、「アプリがインストールされていません」という恐ろしいメッセージが表示されました

私の解決策:設定/アプリに戻り、すべてのアプリをスクロールして、一番下が私のApp1の淡いバージョンでした(元のApp1はアルファベット順で一番上にあり、上記のように削除されました)。淡いバージョンをクリックすると、「このユーザーにはインストールされていません」と表示されました。(私は自分のネクサスを複数のユーザーがいるように設定していました)。しかし、右上隅に3つのドットのボタンがあります。これを押すと、「すべてのユーザーに対してアンインストール」と表示されました。どちらを実行したかで問題が解決しました。App1.apkをクリックできるようになり、エラーなしで正常にインストールされました。


1
ええ、私にはさまざまな理由がありましたが、これはその1つでした。ありがとう!
Alveoli 2016年

1
同じ問題があります。ゲストアカウントをアクティブにしましたが、アプリを削除しても、すべてのユーザーから削除されませんでした。
Filip Luchianenco

2
これは本当に役に立ちました。これを見つける前に、アプリを20回ほどインストール/アンインストールしました。どうもありがとう!:-)
Rahul Arora

3
StackOverflowだけが複数回賛成を許可する場合。このソリューションは、ほぼ1年前に役立ちました。私は賛成してすぐにそれを忘れました。今日も同じ問題があり、それがまた私を助けてくれました。賛成投票を試みたところ、StackOverflowはすでに持っていたと述べました。しかたがない。
Glenn、

2
ありがとう。私もこの問題に遭遇しました。アプリをアンインストールしても、現在アクティブなユーザーのみがそれを実行することは、最初はまったく明らかではありません。毎回設定に入るのを避けるためにadb uninstall your.package.name、すべてのユーザーをアンインストールするコマンドを使用します。
ザビエル

61

Androidを2.3.2から3.0.1に更新すると問題が発生しました。この場合、IDEは次の点を自動的に考慮します。

1. android:testOnly = "true"のアプリは、AndroidファイルマネージャーやWebサイトからのダウンロードなど、従来の方法ではインストールできません。

2.Android Studioは、実行されるAPKにandroid:testOnly = "true"を設定します

デバイスをシステムに直接接続するアプリを実行すると、apkは問題なくインストールされ、実行されます。

このapkをビルドアウトのコピーからコピーして送信し、フォルダーをデバッグすると、デバイスにインストールされません。

解決策:go Build ---> Build APK(s) ---> apk file share to your team

その後、あなたの問題が解決します。


1
あなたは私の仕事を救った!ありがとうございました!
img.simone

1
神ああ、それは私に3時間を要した。..
cuddlemeister

できます!ありがとうございました!
ピーター

1
これこれこれがここの答えです。この単純なことは、プログラム内で露骨に気づかれたり、デバイス上のエラーメッセージを介して認識されなかったりするので、迷惑です。ありがとう!
LFMekz

29

私も同じ問題に直面しました。問題は、AndroidManifest.xmlファイルのメインアクティビティが2回書き込まれたことでした。重複を削除しました。


ヒントをありがとう!私の場合android:exported、ランチャーアクティビティがfalseに設定されていました
ildar ishalin '

21

これは、MainMantivityがAndroidManifest.xmlで2回宣言されている場合に発生する可能性があります。

別の考えられる理由:起動アクティビティを変更した。ヒント:すでに公開されているアプリケーションでは絶対に行わないでください!Android Developersブログで議論された理由。


4
1 android:nameいずれかの属性はActivityServiceBroadcastReceiverというようにマニフェストファイルに変更することはできません。これはアプリ内のプライベートIDのようですが、パブリックAPIです。
CAW

起動アクティビティを変更する必要があります。スプラッシュスクリーンを追加しました。メインアクティビティを開始する前に、その中にフィードをダウンロードする必要があります。メインアクティビティ内にスプラッシュスクリーンを配置する以外の解決策はありますか?
Chris Sim、2014年

2
<activity-alias>タグを使用してそれを処理できます!
thiagolr 2016


14

私は同じ問題を抱えていて、解決方法は次のとおりです。マニフェストファイルに移動し、「デバッグ可能」属性と「テストのみ」属性がfalseに設定されていることを確認します。それは私のために働いた:)


2
「テストのみ」の意味がわかりませんが、debugableをtrueに設定し、apkに署名するとうまくいきました!
ingh.am

うまくいきませんでした。私が使用したもの:android:testOnly="false" android:debuggable="false"
Francisco Corrales Morales

説明してもらえますか?私はどちらの属性も持っておらず、trueもfalseも設定していません。ラインはどのように見えますか?
パシュテ

14

Android Studio 3を使用している人向け。

Suryanarayana Reddyの解答は正しいので、それはそれを解決するための手順を述べていません。

アプリケーションタグの追加]でのAndroidManifest.xml内testOnly="false"android:debuggable="true"そのように:

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme"
    android:testOnly="false"
    android:debuggable="true"
    >


次に、AndroidStudioのメニューバーで[ビルド]> [APKをビルド]を編集します。


ありがとう!android:debuggable="true"につながるError: Avoid hardcoding the debug mode; leaving it out allows debug and release builds to automatically assign one [HardcodedDebugMode]。私はandroid:testOnly="false"、両方Build > Build Bundl(s) / APK(s) > Build APK(s)Build > Generate SignedBundle APK...署名バージョンv1、v2(上のスクリーンショットのように)を試してみました。以前に以前のアプリを削除してから、新しいアプリをインストールする必要がありました。
CoolMind 2018年

最近この問題が発生しました。android:testOnly = "false"とBuild-> Build Apksを追加して完了しました。すべてソートされました。ありがとう!android:debuggable = "true"のような他のAndroidプロパティを追加する必要はありません。
androidStud

12

私はこれが古い投稿であることを知っていますが、新しいユーザーにとっては役立つかもしれません。私は同じ問題を抱えていました:デバッグ中にアプリケーションが正常に動作しました。APKに署名すると、「アプリケーションがインストールされていません」という同じメッセージが表示されました。

私はJDKをアンインストールするのを修正し(jdk-6u14-windows-x64を使用していた)、新しいものをインストールしました(jdk-6u29-windows-x64)。エクスポートしてAPKに再度署名した後、すべてが正常でした!

再開すると、私の問題はJAVAバージョンでした。オラクルに感謝!


これは私のためにそれを固定...詳細stackoverflow.com/questions/6282169/...
グレッグ・エニス

2
それは信じられないほど奇妙です。これはエミュレータまたはデバイス用ですか?
Joe Plante、2012年

12

私の問題は、デバイスに複数のユーザーアカウントがあることでした。1つのアカウントでアプリを削除しましたが、まだ他のアカウントにインストールされていました。したがって、名前空間が衝突し、インストールされませんでした。すべてのユーザーからアプリをアンインストールすることで解決しました。


2
アプリケーションマネージャーからアプリを選択します(表示されますが、アンインストール済みとして表示されます)。[詳細]を選択すると、[すべてのユーザーに対してアンインストールする]オプションが表示されます。
ケーシーマレー

9

私の問題は次のとおりでした:実行コマンドを実行中に生成されたデバッグAPKを使用しました、Android Studioからを

解決策:このファイルを使用する代わりに、プロジェクトをクリーンアップして、[ビルド]> [APKをビルド]をクリックします。、Android Studioから。次に、通常のフォルダー(app / build / outputs / apk / debug /)から生成されたAPKを使用できます

このように生成されたファイルは問題なくインストールされました。


7

アプリケーションがインストールされない場合.android_secure/smdl2tmpl.asecは、SDカードからファイルを削除してください。

.android_secureファイルマネージャでフォルダが空の場合は、PCから削除します。


5

結局、私だけではなく、正常にインストールされているアプリがないことがわかりました。SDカードからのインストールアプリのデフォルトを自動に設定しました。それで直った。


1
これをどのように行うのですか?私のデバイスではこのオプションがまったく見つかりません
SoulRayder 2017

Huawei P8 Lite、Android 6.0のみ:Advanced / Mem&storage / default location:internal / SDCardこれは役に立ちませんでした。
kaay 2018年

5

そのアプリケーションの以前のバージョンがある場合、最初にそれを消去しようとすると、今私の問題はその方法で解決されました。


5

私もこの問題を解決しました、

問題は、メインのアクティビティを2回宣言したことでした。最初にロードするアクティビティとしてOnを指定し、そのためにインテントフィルターも指定し、その下にもう一度もう一度宣言しました。

アクティビティを2回宣言しないようにしてください。


Manifest.xmlファイルでアクティビティを2回宣言した場合、同じ名前で同じアクティビティが異なるパッケージにない限り、コンパイルエラーが表示されますが、私がすべてをチェックしたため、これは機能しません。
ブルーウェア

5

コマンドラインからキーストアファイルを作成する

keytool -genkey -alias key_file_name.keystore -keyalg RSA -validity 1000000000000000 -keystore key_file_name.keystore

Eclipse経由でapkをエクスポートし、Androidプロジェクトを右クリックしますAndroidツール>署名付きアプリケーションパッケージのエクスポート、キーストアの場所とパスワードを入力します。

これにより、署名されたapkがクレートされ、同時にapkがジップアラインされます。そしてインストール可能。

すべてのコマンドラインを実行すると、「アプリケーションがインストールされていません」というエラーが発生する場合があります。(アプリケーションがインストールされていないというエラーは、コマンドラインを使用している場合に発生するだけではありません。他の理由も考えられます)


4

同じ問題がありました。つまり、アプリがインストールされているように見えましたが、アイコンをタップしても起動しませんでした。ヘッドバンギングの後で、AndroidManifestファイル内のメインランチャーアクティビティ用に 'android:exported = "false"'を愚かに配置したことがわかりました。...削除すると、アプリは正常に起動しました。


4

私の問題は@Lunatikzxの問題に似ていました。アプリケーションの属性として書き込まれた誤った許可タグのため:

<application
    android:permission="android.permission.WRITE_EXTERNAL_STORAGE"
    android:label="@string/app_name"
    android:icon="@drawable/ic_launcher"
    android:testOnly="false"
    android:debuggable="true">

私にとってそれを修正したのは、次のように許可タグを個別のタグに変更することでした:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

4

物理的な電話でテストするためのデバッグアプリのサイドローディングは、電話をAndroid PieからAndroid 10にアップグレードするまで確実に機能しました。その後、アプリをサイドローディングしようとするたびに、「アプリがインストールされていません」というエラーが表示されました。

AndroidManifest.xmlの警告に基づいて、次のように変更しました...

<application
    android:name=".App"
    android:allowBackup="true" ... />

に...

<application
    android:name=".App"
    android:allowBackup="false" ... />

その後、アプリをサイドロードすることができました-一度。次に、同じ「アプリがインストールされていません」というエラーが再び発生しました。にallowBackup戻すことによりtrue、再び動作しました(少なくとも1回)。

この問題には多くの理由があることは、回答の数と回答のバリエーションから明らかです。他の人を助けるためにこれを共有しています。


私はちょうどに設定android:allowBackup="true"してみましたがandroid:allowBackup="false"、まだ運がありません。
KRK

3

Androidのバージョンを確認してください。

マーケット以外のアプリをインストールし、互換性のないバージョンをインストールすると、このエラーが発生します。

例:2.3.4を対象としたアプリケーションデバイスが2.2の場合、このエラーが発生します。


Gradle構成ファイルのどこにAndroidのターゲットバージョンが表示されますか?私はそれをbuild.gradleandroidマニフェストファイルにも見ていません。ない限りcompileSdkVersion(値23)またはminSdkVersion(16)またはtargetSdkVersion(22)の所望の設定に何らかの形で指しています。私の銀河はandroid 7.0を実行しています(更新を要求していますが、まだ許可していません)。私はむしろ私の反応-ネイティブアプリを構築するには、Android Studioを使用しますが、いないよgradlew assembleRelease
pashute

3

「アプリケーションがインストールされていません」エラーは、アプリがSDカードにインストールまたは移動され、USBケーブルが接続されている場合にも発生し、SDカードがアンマウントされます。

この場合、USBストレージをオフにするか、アプリを内部ストレージに戻すと問題が解決します。


3

この問題も発生しました。このソリューションを試してください。プロジェクトのパッケージ名が、携帯電話にすでにインストールされている以前のプロジェクトと異なることを確認してください。彼らは彼らの名前で衝突を起こすと思います。それは私で機能します。


2
それは機能しますが、何百万ものアプリがインストールされることになるため、最善の解決策はありません。上記の他の回答のいくつかを参照してください。
Astra Bear

3

また、デバイスの製造元がPlayストア、YouTube、GoogleマップなどのGoogle商用アプリのライセンスを取得していないため、この問題が発生する場合もあります。この回答に従って問題を解決してください。


3

どうやらこれは、APKをインストールする前にAPKの名前を変更することによっても発生する可能性があります。ファイル名を短くして、ユーザーがWebサイトからアプリを取得するために入力しなければならない入力の量を減らしたかったのです。その後、彼らはそれをインストールすることができませんでした。

パッケージを作成して署名するときに使用した元のファイル名に戻すと、インストールしたアプリを更新することができました。


初めてインストールしたときに名前を変更したと思います。現在、デフォルト(app_release.apk)はインストールされません。多分私はそれを変更してみます...うーん。
パシュテー

3

Android Studioを使用して、以前に署名されていないAPKのデバッグバージョンをインストールし([ ビルド]> [ビルドAPK])、署名付きリリースバージョンをインストールする前にそれをアンインストールする必要がありました([ビルドバリアント]> [ビルドバリアント:リリース]、[ ビルド]> [署名済みAPKを生成])。


1
同じ問題で2時間無駄にしただけです。私のアプリはバージョンを表示します。「3.5.6」。ただし、デバッグバージョンかリリースバージョンかは表示されません。私はたくさんの異なるファイルをいじくり回していて、自分がどこにいたのか分からなくなって、リリースapkでデバッグapkを更新しようとしました。Androidは「ファイル署名の競合」のようなメッセージを表示していたと思いますが、現在(Pie、9.0)は「アプリがインストールされていません」と表示され、理由を見つけるオプションはありません。苦しいレッスン!
スティーブンホスキング

3

私にとっての原因は、同じ電話で異なるビルドバリアントを使用した複数のビルドがあったことです。

ここに画像の説明を入力してください

何が起こったことは、これらのいくつかのビルドはで造られたということでした、別の別の開発者から私に送信されたということでした。他のビルド(私が作成したもの)がある間に開発者をインストールしようとすると、上記のエラーが発生しました。

そのため、修正は簡単でした:私の電話ですべてのビルドを削除します(ビルドバリアントに関係なく)。次に、ピアから送信されたAPKをインストールします。


同じ問題がありましたが、解決策は、フレーバーを使用するときに常にビルドに署名することです
Nickmccomb

3

私は今日同様の問題に直面し、最初はそれを破損したのは私のsdカードであると思いました。Android 4.4以降を実行している多くのデバイスで試してみましたが、同じ問題が発生し続けました。いくつかのグーグル調査の結果、Android 7.0 nougatよりも古いデバイス用のv1 jarシグネチャを選択していないことに気付いたため、両方を適用しました2つのチェックボックスをオンにしてこれらの署名を作成し、署名されたapkを生成すると機能しました。

ここに画像の説明を入力してください

ソリューションAndroidへのリンク–署名済みAPKをインストールするときにアプリがインストールされないというエラー–修正方法


これは、Android 6を実行するデバイスに役立ちました
Stefan Zhelyazkov

この回答が問題の解決に役立ったことをうれしく思います。@ StefanZhelyazkov
Nelson Katale

2

これは、ホーム画面ウィジェットを作成するときにも発生する可能性があり、ウィジェットのXMLファイルのandroid:configureプロパティに誤ったアクティビティが指定されています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.