web-dev-qa-db-ja.com

自分で生成したapkをインストールできません

アプリを更新し、デバイスでテストしました。 Eclipseの実行ボタンを使用してアプリをテストするとすべてが正常に機能しますが、apkにエクスポートしてapkをインストールしようとすると失敗します。

エラーコードなどはありません。アプリがインストールされていないというだけです。

なぜこれが起こるのか?私は自分のアプリでいくつかのことを変更しただけです。basegameutilslibをアプリから削除し、basegameutilsなしで新しいAPIに移行しました。それだけです(いくつかのバグ修正を除きますが、それは原因にはなりません)。

すでにEclipseを再起動し、すべてのプロジェクトを複数回クリーンアップしました。

ターゲットSDKは22であり、そのAPIレベルで最新のシステムイメージなどを使用しています(私のdivceは5.1.1が実行されているストックネクサス6です)。また、ビルドツールを22.0.1から23.0.1に更新し、22バージョンを削除しました。これが原因ですか?

また、開発コンソールでapkをアップロードしようとしましたが、エラーはありませんでした。

ご協力ありがとうございました。

編集:

Logcatの出力は、署名が以前にインストールされたバージョンと一致しないことを示しています。

Playストア経由で現在のライブバージョンをインストールしようとすると、別のユーザーがすでにこのデバイスに互換性のないバージョンをインストールしているため、このアプリをインストールできないというエラーメッセージが表示されますデバイス上)。

設定でアプリメニューにアクセスすると、リストの下部にアプリが表示されますが、ユーザー用にアプリがインストールされていないというメモがあります。クリックすると、すべてのボタンがクリック不可になります(そのため、アンインストールできません)。

何が起こっている?

18
user3254126

解決策を見つけましたが、何が問題の原因なのかまだわかりません。

デバイスのどこかに、アプリがアプリの引き出しに表示されず、Playストアが同じことを教えてくれたにもかかわらず、アプリがまだインストールされています。設定/アプリメニューにアプリがまだ存在していたので(元の投稿の編集で述べたように)、クリックしました。メニューボタンをクリックすると、トリックを行ったすべてのユーザーに対してunisntallを選択できます。これで、apkを再度インストールできます。

私はこれがどのように起こったのかわかりませんが、そこに行く、これが役立つことを願っています。

編集:

この男と同じ問題を抱えていた。そこに受け入れられた答えは、私の不十分なforamttedテキストよりもはるかに良いです;)

「別のユーザーが既にこのデバイスに互換性のないバージョンをインストールしているため、このアプリをインストールできません」

9
user3254126

私にとっては、Signature Version v1とv2の両方を選択すると問題が解決しました enter image description here

67
Suben Saha

署名が変更されたため、前述のとおり、以前のバージョンをアンインストールする必要があります。デバイスUIからアンインストールしようとしましたが失敗します-コマンドラインから試してください:

adbアンインストールyour_package_name

Nexusデバイスでは、コマンドラインのアンインストールのみが機能する場合があります。

13
Hermit

私は同じ問題に直面していたので、このように解決しました、現在のUpdated Android Studio 2.3

  1. Build> Signed apkを生成します。
  2. Keystore pathを作成します。
  3. Password, alias, key passwordと入力します。
  4. Build type適宜選択します(たとえば、プレイストアでリリースするにはreleaseを使用します)。
  5. Signature VersionV1V2の両方のチェックボックスを選択します。
  6. Finsih
  7. Explorerからapkに移動し、playstoreに使用するか、デバイスで署名および認証済みのapkファイルとして使用します。
9

私にとっての解決策は、デバイスでPlay Protectを無効にすることでした。

5
Péter Aradi

問題は、テストアプリのバージョンがあるためです。だから、あなたは本当にアプリをアップグレードしていません!これらは2つの異なるアプリです。アプリのリリース(署名済み)バージョンをインストールできるように、最初に以前のバージョンをアンインストール(テスト)する必要があります。

1
Gustavo Boksar

Androidデバイスで署名済みapkを直接実行することはできません。

Apkを実行し、以下の手順を実行します。

1) Go to your device settings

2) In setting you find applications

3) In application checked unknown sources

これにより、Playストアからダウンロードせずに署名済みのAPKを実行できます。

またはこのリンクを試してください:

「別のユーザーが既にこのデバイスに互換性のないバージョンをインストールしているため、このアプリをインストールできません」

1
KishuDroid

私の場合、この問題の原因はbuild.gradleのproguardFilesパスでした

0
Reza

2つのオプション(V1(jar署名)およびV2(完全なAPK署名))があり、生成されたapkが生成される前。下位互換性がなく、すべてのAndroidバージョン7未満の携帯電話はこの署名を受け入れません。下位互換性は、次のN Developer Previewで追加されます。このdeveloper.Androidの説明もこのリンクにあります: https://developer.Android.com/about/versions/nougat/Android-7.0#apk_signature_v2

0
Babak

誰かがこれに直面しただけで、保存エラーが発生しました。私にとっては、電話で同じアプリに複数のプロジェクトがあるからです。携帯電話から古いバージョンのアプリを削除する必要があります。

0
Salah Klein

動作させるために確認することはほとんどありません

  1. 設定-> セキュリティ->有効化不明なソースからインストールに移動します。一部のデバイスでは、Apps category、またはより良い設定で検索

    一部のデバイスでは(Lenovo K8もその1つです)、サードパーティのアプリのインストールをアプリに許可する必要があります。 Chrome、ドライブ、ファイルマネージャーのインストールを許可します。これを見つけるために周りを検索する必要があるかもしれません。


  1. USBデバッグを有効にします。 設定-> 電話について-> 7回タップ-> 開発者オプション->有効にするSBデバッグ.

    いくつかのapkファイルは、デバッグビルドバリアントで生成される可能性があります。


  1. Email/drive/WhatsAppで共有されているリンクから直接開くのではなく、
    コピーリンク。 ペーストブラウザの中にある.
    ダウンロードファイル
    file manage rから開くと、インストールできます。

  1. 上記の方法がいずれも機能しない場合anti-virus/Cleaner appがインストールされているかどうかを確認し、play protectを探します。

0
JeffinJ