アプリを更新し、デバイスでテストしました。 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ストア経由で現在のライブバージョンをインストールしようとすると、別のユーザーがすでにこのデバイスに互換性のないバージョンをインストールしているため、このアプリをインストールできないというエラーメッセージが表示されますデバイス上)。
設定でアプリメニューにアクセスすると、リストの下部にアプリが表示されますが、ユーザー用にアプリがインストールされていないというメモがあります。クリックすると、すべてのボタンがクリック不可になります(そのため、アンインストールできません)。
何が起こっている?
解決策を見つけましたが、何が問題の原因なのかまだわかりません。
デバイスのどこかに、アプリがアプリの引き出しに表示されず、Playストアが同じことを教えてくれたにもかかわらず、アプリがまだインストールされています。設定/アプリメニューにアプリがまだ存在していたので(元の投稿の編集で述べたように)、クリックしました。メニューボタンをクリックすると、トリックを行ったすべてのユーザーに対してunisntallを選択できます。これで、apkを再度インストールできます。
私はこれがどのように起こったのかわかりませんが、そこに行く、これが役立つことを願っています。
編集:
この男と同じ問題を抱えていた。そこに受け入れられた答えは、私の不十分なforamttedテキストよりもはるかに良いです;)
「別のユーザーが既にこのデバイスに互換性のないバージョンをインストールしているため、このアプリをインストールできません」
署名が変更されたため、前述のとおり、以前のバージョンをアンインストールする必要があります。デバイスUIからアンインストールしようとしましたが失敗します-コマンドラインから試してください:
adbアンインストールyour_package_name
Nexusデバイスでは、コマンドラインのアンインストールのみが機能する場合があります。
私は同じ問題に直面していたので、このように解決しました、現在のUpdated Android Studio 2.3
Build
> Signed apk
を生成します。Keystore path
を作成します。Password, alias, key password
と入力します。Build type
適宜選択します(たとえば、プレイストアでリリースするにはrelease
を使用します)。Signature Version
V1
とV2
の両方のチェックボックスを選択します。Finsih
。Explorer
からapkに移動し、playstore
に使用するか、デバイスで署名および認証済みのapkファイルとして使用します。私にとっての解決策は、デバイスでPlay Protectを無効にすることでした。
問題は、テストアプリのバージョンがあるためです。だから、あなたは本当にアプリをアップグレードしていません!これらは2つの異なるアプリです。アプリのリリース(署名済み)バージョンをインストールできるように、最初に以前のバージョンをアンインストール(テスト)する必要があります。
Androidデバイスで署名済みapkを直接実行することはできません。
Apkを実行し、以下の手順を実行します。
1) Go to your device settings
2) In setting you find applications
3) In application checked unknown sources
これにより、Playストアからダウンロードせずに署名済みのAPKを実行できます。
またはこのリンクを試してください:
「別のユーザーが既にこのデバイスに互換性のないバージョンをインストールしているため、このアプリをインストールできません」
私の場合、この問題の原因はbuild.gradleのproguardFilesパスでした
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
誰かがこれに直面しただけで、保存エラーが発生しました。私にとっては、電話で同じアプリに複数のプロジェクトがあるからです。携帯電話から古いバージョンのアプリを削除する必要があります。
動作させるために確認することはほとんどありません
設定-> セキュリティ->有効化不明なソースからインストールに移動します。一部のデバイスでは、Apps category、またはより良い設定で検索
一部のデバイスでは(Lenovo K8もその1つです)、サードパーティのアプリのインストールをアプリに許可する必要があります。 Chrome、ドライブ、ファイルマネージャーのインストールを許可します。これを見つけるために周りを検索する必要があるかもしれません。
USBデバッグを有効にします。 設定-> 電話について-> 7回タップ-> 開発者オプション->有効にするSBデバッグ.
いくつかのapkファイルは、デバッグビルドバリアントで生成される可能性があります。