Androidプロジェクト構成パーツ詳細(Eclipse)

Android用語集

カテゴリー: 環境構築  閲覧数:413 配信日:2014-01-03 12:37


/src


ソースフォルダ
・Javaで書かれたソースコードが格納されている


/gen


自動生成されるフォルダ
・Androidフレームワークが自動で生成するコードが格納されている
・自動生成するものなので、genディレクトリはリポジトリへチェックインしないようにする

Eclipseが管理
・この中のコードに直接手を入れることはない


/assets


・アプリで読み書きが可能なファイルの格納場所
・簡単なhtmlを保存しておき、WebViewで開く等の使い方が可能


/bin


・コンパイルして生成される、jarやapkなどの各種ファイルが格納される
・このディレクトリも、リポジトリへはチェックインしないようにする


/libs


・外部ライブラリのjarファイルを格納
・ここに格納したjarへのパスは、フレームワークが自動で通してくれる


/res


リソースフォルダ
・レイアウトファイルや、定型文、画像などの各種リソース本体が格納されている
・このフォルダ以下は、さらにリソースの種類ごとにフォルダが分かれている
・格納するリソースごとに命名規則が決められている
・利用する端末のスペックに応じてのディレクトリの分割も可能


AndroidManifest.xml


・アプリに関する様々な宣言をする場所
・アプリが利用する端末の機能(カメラや外部ストレージなど)の宣言や、パーミッションの宣言もここで実施


proguard-project.txt


・ProGuardという、コードの難読化ツールの設定ファイル

ProGuardとは?
・ADT r8 から標準で Android SDK に組み込まれた難読化ツール
・無償で利用可能
・圧縮、最適化、難読化、事前検証の4つの機能を保持

難読化する理由は?
・Javaで書かれてたAndroidアプリでも、逆コンパイルすると簡単にソースコードが見えてしまう
・リバースエンジニアリング(ソフトウエア解析)されると重要なアルゴリズムやパスワードが盗用される恐れがある
・そのため難読化してリバースエンジニアリングを難しくする対策を施す
ProGuard は、未使用のコードを除き意味的に分かりづらくなるようにクラス、フィールド、メソッドの名前を変えることによりコードを縮め、最適化し、難読化するツールです。結果として .apk ファイルはより小さくなり、リバースエンジニアリングもより困難となります
ProGuard は Android のビルドシステムに統合されているので、手動でそれを呼び出す必要はありません。ProGuard が実行されるのはアプリケーションをリリースモードでビルドするときのみなので、アプリケーションをデバッグモードでビルドしているときにコードの難読化に対処する必要はありません。ProGuard を実行させるのは完全にオプションとなっていますが、強く推奨します