/sdcard/ ダウンロード/に保存されているインストーラのファイル名を取得することは可能ですか?私はアプリから、それをインストールしたAPKファイル名を取得したい。 特に非市場アプリで簡単に行う方法はありますか?Android:プログラムでインストーラのファイル名を取得するにはどうすればよいですか?
答えて
より良い方法は間違いなくマニフェストにバージョン文字列を含めることです。これは本当に唯一の信頼できる(そして専門的な)方法です。 AndroidはAPKを含むファイルの名前をどこにも保存しないので、入手できる方法はありません。
理論的には、おそらく特定のディレクトリ内のファイルの作成を見て、ファイルは拡張子.apk
で作成されたすべての時間はあなたが、ファイルを開くマニフェストを抽出し、APKのパッケージ名を検索し、可能性FileObserver
を使って何かを、構築できますファイル名とともにこれをいくつかの永続ストレージに格納します。次に、バージョン情報を取得する必要がある場合は、永続ストレージを調べて、必要なパッケージ名と一致するファイル名を取得することができます。
他のAPKファイルがダウンロード/インストールされたの前に、お使いのアプリがにインストールされている場合にのみ、これが有効です。これはあなた自身のアプリケーションのファイル名を見つけるのには役に立たないでしょう。
うーん、私はあなたがSDカードまたはダウンロードフォルダで何を意味するかわからないが、あなたはシステム/データディレクトリにAPKパスを得ることができます:
コマンドライン:
$ adb shell pm list packages | grep mk.trelloapp
package:mk.trelloapp
$ adb shell pm path mk.trelloapp
package:/data/app/mk.trelloapp-1/base.apk
またはあなたからアンドロイドアプリコード:
:(単に実行するプロセス) Process exec = Runtime.getRuntime().exec("pm path mk.trelloapp");
exec.waitFor();
InputStream inputStream = exec.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder builder = new StringBuilder();
String line = null;
while((line = br.readLine()) != null) {
builder.append(line);
}
String commandOutput = builder.toString();
コード上では、単に "/data/app/mk.trelloapp-1/base.apkパッケージ" を含むあなたの文字列を与える必要があります
パスの/ dataディレクトリを取得すると、インストール中にアンドロイドパッケージが/ dataディレクトリにコピーされるため、他のディレクトリの同じ(類似した)ファイルを検索しようとする可能性があります(削除されていないと仮定します)。
これは役に立ちません。 OPは、ダウンロードしたAPKファイルの元のファイル名を取得できるようにするために、アプリケーションのバージョン番号がそのファイル名の一部としてエンコードされているためです。 '/ data'へのAPKパスはパッケージ名のみを使用するため、この情報は含まれません。 –
- 1. プログラムで_GLOBAL_OFFSET_TABLE_アドレスを取得するにはどうすればよいですか?
- 2. インクルードファイルから、インクルードするファイルのファイル名を取得するにはどうすればよいですか?
- 3. Androidでプログラムで表示画面の高さを取得するにはどうすればよいですか?
- 4. Antのディレクトリ名からファイル名を取得するにはどうすればよいですか?
- 5. 私はClojurescriptプログラム内でClojurescript名前空間を取得するにはどうすればよいですか?
- 6. Androidでハイブリッドマップビューを取得するにはどうすればよいですか?
- 7. インストールされている.msiファイルの名前を取得するにはどうすればよいですか?
- 8. Racketでプログラム名を取得するにはどうすればよいですか?
- 9. 一時ファイルを開き、そのファイル名を取得するにはどうすればよいですか?
- 10. Windows Phone 7でダウンロードしたファイルをプログラムで取得するにはどうすればよいですか?
- 11. user.configファイルの場所をプログラムで取得するにはどうすればよいですか?
- 12. Androidでユーザーの名前を取得するにはどうすればよいですか?
- 13. "/ system/media/audio/ringtones"へのパスをAndroidでプログラムで取得するにはどうすればいいですか?
- 14. Javaプログラム内でjarファイルを取得して実行するにはどうすればよいですか?
- 15. Javaプログラムの実行可能ファイルを取得するにはどうすればよいですか?
- 16. C#からWord文書のファイル名を取得するにはどうすればよいですか?
- 17. カーネルモジュール内のファイルディスクリプタからファイル名を取得するにはどうすればよいですか?
- 18. ファイルのショートカットからパス名を取得するにはどうすればよいですか?
- 19. PyQt:ユーザーからファイル名の大きなリストを取得するにはどうすればよいですか?
- 20. sitecustomize.pyからスクリプトの名前/ファイルを取得するにはどうすればよいですか?
- 21. Android:名前から文字列を取得するにはどうすればよいですか?
- 22. ファイル名を拡張子なしで取得するにはどうすればよいですか?
- 23. バッチファイルを取得してファイル名のスペースを処理するにはどうすればよいですか?
- 24. AIRアプリケーションの現在のファイル名を取得するにはどうすればよいですか?
- 25. ファイル名のコマンドライン引数の絶対パスを取得するにはどうすればよいですか?
- 26. インストーラでウェルカムページイメージを変更するにはどうすればよいですか?
- 27. Windows Mobileの[プログラム]メニューにインストーラのタクシーのショートカットを挿入するにはどうすればよいですか?
- 28. CellTableのヘッダーに関する情報をプログラムで取得するにはどうすればよいですか?
- 29. DNSドメイン名から短い「ドメイン名」を取得するにはどうすればよいですか?
- 30. プログラムで追加されたボタンからOnClick()を取得するにはどうすればよいですか?
「インストーラファイル名」とはどういう意味ですか? APKの名前は?はいの場合は、なぜそれを望みますか?詳細を追加してください。 –
はい私はSDカードに保存されているapkの名前を取得したいと思います。私はapkファイルを作成し、それをサーバーに保存しました。誰かがそれをダウンロードしたい場合、サーバーは一意の名前を持つファイル "application00086.apk"を生成します。問題は次のとおりです。ディレクトリ/ data/app /に格納されているインストール後のこのアプリケーション固有のファイル名を取得する方法:興味深いメソッドが見つかりました:getInstallerPackageNameただし、このメソッドはインストーラパッケージ名のみを返します。インストーラファイルNAMEを取得したいのですが、マーケットに自分のアプリを配布したくないのです。 – Wolfie
@Wolfie:私はあなたと同じ問題に直面していました。あなたはこれを解決しましたか?どうもありがとうございました ! – hoang8f