インストールしたアプリとそのデータからAPKを作成できますか?


8

ルート化されたAndroidデバイスからデータを含むインストール済みアプリを取得し、ルート化されていないAndroidデバイスへのインストールに適したAPKを生成します。

これは可能ですか?

編集:既存の回答/コメントは、既存のアプリがAPK内へのアプリのデータの埋め込みをサポートしていないという考えを強化しているようです。おそらくより基本的な質問は、APKが宛てのファイルを埋め込むことができる /data/data/[appname]か、それともインストール時に自己完結型に制限されているのでしょうか?

ノート:

  • 可能であれば、この機能はTitanium Backupなどのアプリに組み込まれると思いました。Titanium Backupはapp + dataを単一のファイルにバックアップできますが、そのファイルはAPKではなく、Titanium Backup自体によってのみ復元できます。これは、宛先デバイスがルート化されておらず、TBを実行できないため、私には役に立ちません。
  • 電話またはADBで端末を使用する必要があるソリューションは問題ありません。

ありがとう。


TBのバックアップフォルダーを見ると、.apkプレーンが格納されていることがわかります(少なくともそれを取得できます)。データファイルを調べる必要があります。AFAIRこれは単に格納されたプロパティでしたが、使用された形式を思い出せません。ただし、ルート化されていないデバイスでデータを復元することは、バックアップと同じ理由でおそらく達成するのが非常に困難です。データフォルダーにアクセスできない...
Izzy

@Izzy TBには2つのバックアップ方法があります。その通常の1つは、バックアップディレクトリに3つのファイルを格納します-APKを含むtar.gz、/ data / data / [app] /の内容を含むtar.gz、および私が想定しているハッシュを含む.propertiesファイルファイル。他のオプション([このバックアップを送信]-> [簡単なインポート]の下にあると、通常の3つが含まれていると思われる単一の.TiBkpファイルが書き込まれます。どちらの方法でも、データを/ data / dataに復元するにはrootアクセスが必要です/ [app] /ターゲットデバイス
Ian Renton '23

うん。後者の形式は、たとえば別のデバイスへの簡単な転送を目的としています(ESファイルエクスプローラーからの人々にこれを言及してくれてありがとう、そのアプリはこれらのファイルを認識し、インストールされている場合はTBで開くように提案します)。(非圧縮)データパッケージ(XML、SQLite、SQL ...)の形式を参照して、それらをどのように操作できるかを調べていました-真ん中に、ルート化されていないターゲットが記憶されていました...それでも、それは別の根ざしたターゲットへの「カスタマイズされた転送」のための興味深いアイデアかもしれません。
イジー

回答:


3

APKファイル形式の詳細を読んだので、自分の質問に「不可能」と安全に答えられるようになったと思います。

APKファイルには、たとえばほとんどのLinuxディストリビューションで使用されているパッケージのように、インストール時に「アンパック」されるデータ構造が含まれていません。代わりに、APKは、アプリケーションのバイトコード、マニフェスト、証明書のみを含む、自己完結型のリバッジされたJARファイルです。

のコンテンツは/data/data/[appname]、おそらく最初に実行されたとき(または将来のある時点で)にアプリケーションコードによって作成され、そのようなデータをAPKに埋め込む方法がないため、システムはインストール時に自動的に正しい宛先にデータを移動します。


APKにバイトコード、マニフェスト、証明書のみが含まれているとは限りません。また、アプリで使用されるリソースとアセットも含まれますが、アプリがインストールされてもAPKファイルに残ります。/data/data/アプリがそれ自体を行うようにプログラムされていない限り、これらはコピーされません。
Dan Hulme、2014

1

ES File ExplorerAppMonsterTitanium Backupなどのアプリケーションを使用して、アプリのAPKを引き続き取得できます。しかし、APKのビルド時にデータをバックアップするかどうかはわかりません。


非ルートアプリはデータを含めることができません。AppMonsterは確かにそうではありません-そしてTitaniumに関しては、OPはすでにそれが彼のニーズに適合しないと述べました。ESの場合、データを抽出するとは思えません。
イジー

ESを試したところ、バックアップにデータが含まれていないようです。(または、少なくとも、ルート化されていないターゲットデバイスにバックアップされたAPKがインストールされている場合、期待するデータはそこにはありません。)私の知る限り、ESのバックアップは、/ data /からAPKをコピーする以外の何ものでもありません。 / sdcard / backupsへのアプリ。
イアンレントン

0

Playストアに移動し、ML Managerをダウンロードして、選択したフォルダーにApkファイルを抽出します。これにアプリのデータを含める方法がわかりません。

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