カテゴリー:
環境構築
閲覧数:427 配信日: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 を実行させるのは完全にオプションとなっていますが、強く推奨します