Androidプロジェクト構成(Eclipse)

環境構築

主要構成一覧

 状態:-  閲覧数:1,017  投稿日:2014-01-03  更新日:2014-03-17  
<HelloWorld>
/src
│ └ /e1blue.androidstyle.hello
│  └ HelloAndroid.java メインソース … このクラスに独自のコードを追加

/gen
│ └ /e1blue.androidstyle.hello
│  └ R.java         リソースID定義クラス … リソースとは、「プロジェクトで利用する画像ファイル」「アイコンファイル」「画面のレイアウト情報」「画面に表示する文字列」の意味。これらのリソースを識別するためのIDを、Rクラスで定義しているが、このファイルはEclipseが自動的に更新を行なうので、手動で編集する必要はない  

/assets

/bin

/libs
││
/res
│ └ /drawable-hdpi      高解像度用画像(240dpi)フォルダ
│ └ /drawable-ldpi       低解像度用画像(120dpi)フォルダ
│ └ /drawable-mdpi     中解像度用画像(160dpi)フォルダ
│ └ /layout            画面レイアウトフォルダ
│ └ main.xml           画面レイアウト定義ファイル
│ └ /values            文字列フォルダ
│ └ string.xml          文字列定義ファイル

├ /Android 2.2          Android SDK クラス
├ AndroidManifest.xml    マニュフェストファイル … パッケージ名やコンポーネント名などのアプリケーションに関する情報が記述されたファイル。Androidプラットフォームが参照  
└ proguard-project.txt


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

 閲覧数:412 投稿日:2014-01-03 更新日:2014-03-17 

/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 を実行させるのは完全にオプションとなっていますが、強く推奨します



AVD

ビルドツール

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