APK

仕組み

APKとは?

 状態:-  閲覧数:1,602  投稿日:2018-08-14  更新日:2018-09-04  

表記


Android application package の略

片仮名
・エーピーケー

Googleによって開発されたAndroid専用ソフトウェアパッケージのファイルフォーマット


JARファイルをベースとしたZIP形式で、アーカイブファイルの一種
・プログラムソース・画像・マニフェストファイル・デジタル署名などが含まれている

Androidアプリを公開するために必要なファイル
・Android専用のインストール形式ファイル。Windowsで言えばexeファイルのようなもの
・このファイルでアプリを実行(Android端末にアプリをインストール)することが可能になる

APKファイルを作成するには?


Android用に作成したプログラムをコンパイルして、その全てを一つのパッケージに統合させる
・内部にはプログラムソース、デジタル証明書、マニフェストファイルなどが格納されている
※ファイル名は任意だが、拡張子を「.apk」にしなければいけない

APKファイルの具体的な作成方法


1.Android Studio で対象プロジェクトを開く
2.下記何れかを実行
・画面上部タブから[Build]→[Build APK]をクリック
・画面上部タブから[Build]→[Generate Signed APK…]をクリック

勘違いしやすい点

 閲覧数:278 投稿日:2018-08-19 更新日:2018-08-25 

大原則


Android Studioでアプリを作成してビルドすれば、apkファイルは作成(ファイルとして出力)される

アプリをビルドして実行してもAPKファイルを確認出来ないケース


スマホ実機やエミュレーターでデバッグするとき
・1.「PC」と「スマホ実機」を接続後、Android Studio の [Run] をクリック
・2.Android Studioでアプリを作成してビルドしたので、apkファイルは作成(ファイルとして出力)される
・3.Android Studio が作成したデバッグ用の APK は、ターゲット端末へデプロイされる(作成されたapkファイルは、スマホ実機へ 転送されて 実行されている)
・そのため、転送元の「PC」では、(別途作成しない限り)APKファイルを確認出来ない

出力例

 閲覧数:294 投稿日:2018-08-20 更新日:2018-09-05 

app\build\outputsディレクトリ内に作成される


出力先
・AndroidStudioProjects\<プロジェクト名>\app\build\outputs\apk\<ビルドタイプ>\

具体例
・L:\Android\copysamplecode\firstkaitei\chapter05\Tyrano20180611\app\build\outputs\apk\debug

apkファイルの実体は単なるzip形式


(拡張子をzipに変えるだけで、)zipファイルとして解凍処理できる
・但し、単純にその中にソースファイルが格納されているわけではなく、dexと呼ばれるAndroid専用の仮想マシン上で実行できる形式に変換されたファイルが入っている
・dexファイルをリバースエンジニアリングすることでJavaソースコードを閲覧することは可能だが、コンパイルの過程で「難読化」処理が施されている場合は学習材料とすることは難しい

apkファイルの解凍例1
┏assets/
┣META-INF/
┣res/
┣AndroidManifest.xml
┣classes.dex
┗resources.arsc

▼classes.dex
dex
038 $?ハ^?9?ヘ*DG?c(~??AD p   xV4        h *N  p   ・  9 v  フX Q&  T・ ?<  ワ  8  \ 鑒 \? § ħ ǧ է ܧ  ? .? 6? S? o? ? ?? ?? ?? ( Ϩ ・  ? ? *? A? X? e? p? ?? ?? ?? ɩ ܩ  ?? ? ?
//以下略


dexからJavaソースコードを得る方法
apkファイルからJavaのソースコードを抽出する


Android?の「***.apk」形式ファイルについて教えて下さい

APKファイルを、Android端末へインストールする方法

 閲覧数:409 投稿日:2018-09-05 更新日:2018-09-09 

3種類


APKファイル
・PCにソフトウェアをインストールする操作と同じように決まった手順でAndroid端末にインストール

1.Google Play
・Google Playといった正式な頒布元からインストール

2.非公式のウェブサイトからダウンロード
・非公式のAPKをインストールするには、ほとんどの場合「設定」→「セキュリティ」→「提供元不明のアプリ」でインストールを許可する設定を行えばよい

3.PCからadbコマンドを用いるなどして、端末に直接インストールする





APKファイル内部の基本設計

 閲覧数:285 投稿日:2018-09-08 更新日:2018-09-13 

APKファイル内の構成


┏META-INF/
・ディレクトリ

┣res/
・resources.arscにコンパイルしたコードを含むディレクトリ

┣assets/
・resフォルダに入れられないファイルが入るディレクトリ
・ZIPファイルやテキストファイル、バイナリファイルなど

┣AndroidManifest.xml
・別のマニフェストファイル、アプリケーションのタイトル、バージョン情報、アクセス権限、ライブラリファイルなどをバイナリXMLに変換したファイル

┣classes.dex
・Dalvik仮想マシンでコンパイルされたdexファイル

┗resources.arsc
 ・バイナリXMLなど、プリコンパイルされたファイル

APK (ファイル形式)


Action Bar

コメント投稿(ログインが必要)



類似度ページランキング
順位 ページタイトル抜粋
1 APK 100
2 ADB 33
3 AVD 33
4 JDK 33
5 ADT 33
6 AVD 33
7 Ant 33
8 SDK 33
9 JDK 33
10 Android SDK 29
11 Pleiades 18
12 AndroidバージョンとAPIレベル 18
13 Action Bar 15
14 Android OS 15
15 Activityクラス 14
16 AsyncTaskクラス 13
17 Apache Maven 13
18 Android ライブラリ 13
19 Android パッケージ 13
20 AlertDialogクラス 12
2024/11/23 23:41 更新