問題タブ [android-install-apk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
725 参照

java - エクスポートされ、署名された apk と Eclipse デバッガーで実行されているバージョンの違いは? 問題を引き起こすシリアライズ可能なクラス

うまくいけば、これは長すぎることではありませんが、完全にしようとしています:

だから私はAndroidマーケットにアプリを持っています。アプリ内には、いくつかのシリアライズ可能なクラスがあります。アプリはどこでも正常に動作しています (エミュレーター、デバッグ電話、アプリをダウンロードする電話)。

いくつかの機能を追加することにしました。これらの機能には、私の Serializable クラスの 1 つに Comparable を実装することが含まれます。Eclipse (エミュレーターまたは接続された電話) では、変更は有効に見えます。また、このJavaドキュメントによると、変更はSerializableクラスへの有効な変更だと思います。

今問題に。署名済み apk をエクスポートした後、アプリがクラッシュしたようです。クラッシュは、変更されたクラスに初めて触れたときに発生します。スタック トレースは難読化されており、詳細はあまり重要ではありませんが (私が思うに)、アプリをクラッシュさせる NullPointerException です。

私の実験から変更されたコードは次のとおりです。

同等のバージョン:

追加された方法で:

通常版・オリジナル版:

追加のメソッドなし。

それ以外の場合、クラスは同じです。getName() は文字列を返すことに注意してください。

次の実験を行いました。

  1. スマートフォンからアプリを完全にアンインストールします。
  2. コードに相当する変更を加えずにアプリをビルドし、Eclipse を介して携帯電話で実行します。(正常に動作します)。
  3. Comparable の変更を実装し、Eclipse を介して携帯電話で実行します。(正常に動作します)。

ここでは問題ありません。ここで、上記の各ビルドの署名付きバージョンをエクスポートしました。

  1. スマートフォンからアプリを完全にアンインストールします。
  2. 同等の変更なしでアプリの署名済みバージョンをエクスポートします。次を使用して電話にアップロードします: adb install com.myapp (正常に実行されます)。
  3. 同等の変更を加えた署名付きバージョンのアプリをエクスポートします。adb を使用してアップロードします。以前に保存されたアクセス時にクラッシュします (NullPointerException)。

そして、健全性チェックとして、次のことを行いました。

  1. 電話からアプリを完全にアンインストールします。
  2. 同等の変更を加えて、エクスポートされ、署名されたバージョンのアプリをインストールします。問題はありません。

手順 1. と 2. の間でアンインストールしない理由は、エンド ユーザーが更新間で自分のデータを保持することをシミュレートするためであることに注意してください (ここでの重要な機能)。また、上記の最終的なサニティ チェックにより、Serializeable クラスへの変更に伴う問題であることがかなり確実に感じられることに注意してください。

基本的な質問は次のとおりです。署名され、エクスポートされたアプリと、Eclipse 内から実行されるバージョンの違いは何ですか? Serializable クラスへの有効な変更がエクスポート後にアプリを壊す理由はありますか?

0 投票する
5 に答える
5211 参照

android - 同じデバイスでデバッグとリリースの両方のapkを使用するにはどうすればよいですか?

アプリケーションの開発と実際の電話でのテストを続けながら、デモンストレーションの目的で、同じ電話にリリースバージョンを用意する必要があります(ログがないため、リリースバージョンの応答性が大幅に向上します)。

問題は、Androidの同じデバイス上で2つのアプリケーションを共存させる唯一の方法は、異なるパッケージ名を使用することです。

しかし、パッケージ名にはリファクタリングと多くの手動修正が必要です...これはバージョン管理を混乱させることは言うまでもありません...

理想的には、Eclipse + ADTは、デバッグ/リリース用に異なるパッケージ名を自動的に生成し、そのような共存を可能にする修飾子変数を追加できるようにしますが、それを可能にするメカニズムは見つかりませんでした。

これを回避する方法を知っていますか?

創造的な解決策やアイデアは大歓迎です。

0 投票する
0 に答える
170 参照

android - 特定のユーザーの NO CERTIFICATE 問題

解決しようとしている問題がありますが、レンガの壁にぶつかったようです。

インストールするユーザーにメールで送信した APK があります。リリース モードで署名されています。同じ apk を自分の電話 (Motorola Atrix、OS バージョン 2.3.4) に正常にインストールしました。

ユーザーは同じ OS バージョンの同じ電話を持っていますが、インストールしようとすると、「アプリケーションがインストールされていません」というメッセージが表示されます。

adb からのエラーはこれを示しています:

ネットで調べたところ、Android で証明書が正常に生成されないという既知の問題があるようですIssue 830:一部の APK が部分的な署名で作成される.

ただ、無署名なら全デバイス無署名でいいじゃないですか。私と同じ電話を持つ別のユーザーにとっては問題なく動作します。ただし、この特定のユーザーには機能しません。

頭をかいていて、理由がわかりません。誰でもこれに出くわしますか?

0 投票する
1 に答える
927 参照

android - 背景-送信インターフェースなしでapkファイルをインストールします。どうすればいいですか?アンドロイド

背景-送信インターフェースなしでapkファイルをインストールします。それを行う方法は何ですか?

0 投票する
1 に答える
584 参照

android - リモート デバイスの APK を置き換える

私が提供した APK ファイルを実行しているデバイスがあります。(非市場) これらのデバイスで APK を更新したいと考えています。これを行うには、APK ファイルへのアドレスを記載した電子メールをデバイスに送信します。

私の問題は、ユーザーがリンクをクリックしてファイルをダウンロードし、インストール プロセスを開始すると、APK が既にデバイスにインストールされているため、「アプリケーションをインストールできませんでした」というエラーが表示されることです。

しかし、すべてのユーザーがこのエラーを受け取るわけではありません。それはある人には効きますが、他の人には効きません。

はい、バージョンはマニフェストで更新されます。

修正への提案、またはこれが常に機能しない理由はありますか?

0 投票する
3 に答える
683 参照

android - ADT-15.0.0のデバイスまたはエミュレーターにapkファイルをインストールできませんか?

私は自分のアプリを開発していて、すべてが大丈夫でした。ADT-15.0.0とinstaller_r15-windows.exeをインストールしました。その後、Ctrl + F11を押すと、プロジェクトがアップロードされますが、進行せずにインストール状態のままになります。なんで?誰かが私を助けることができますか?

ありがとう、

0 投票する
2 に答える
133 参照

android - apkのインストール中または終了時にSMSを送信します

私はアプリケーションを作成し、SMSを送信する必要があります。アプリケーションのインストール中やインストール終了時に行うのがいいと思います。

合ってます?それが正しければ、どうすればよいですか?

0 投票する
4 に答える
4485 参照

android-manifest - 「SYSTEM_ALERT_WINDOW」権限の使用中にインストール ボタンをクリックできない

アプリの使用中にインストール ボタンをクリックできません。

SYSTEM_ALERT_WINDOW 権限を使用します。

私のコードの下:

私のアプリを使用すると、apk ファイルのインストール中にインストール ボタンをクリックできません。

インストールボタンを使用するにはどうすればよいですか?

0 投票する
1 に答える
1418 参照

android - /system/app のプログラムが SuperUser アクセス権を取得しないのはなぜですか?

スーパーユーザー権限を必要とする Android アプリケーションを作成しています。SuperUser.apk と su がインストールされます。ただし、アプリケーションを /data/app にインストールする場合と /system/app にインストールする場合には違いがあるようです。/data/app にインストールすると、すべて正常に動作するように見えます。/system/app にインストールすると、SuperUser.apk がポップアップして権限を付与しません。

ある場所と別の場所にインストールする必要がある特定の種類のプログラムはありますか?

ティア

0 投票する
3 に答える
3245 参照

android - プログラムでアプリをインストールするAndroid

zxing barcode scannerスキャンに使用するアプリがありますqr codesbarcode scannerこれは、ユーザーが自分のモバイルにアプリをインストールした場合にのみ機能します。それで、私のアプリのインストールでそのアプリを自動的にインストールできますか?プログラムでインストールしapk fileたり、そのapkを私のものと統合したりして、ユーザーがそのアプリを手動で再度インストールする必要があるようにします。