AndroidStudioインストール
by K.I
2017/06/22〜
Index
- Eclipseで、Androidのプログラムを始めたんだけど、
- どうやら、GoogleはEclipseのサポートを止めて、AndroidStudioに移行したらしい。
- それで、遅ればせながら、AndroidStudioをインストールしてみる
- 何も知らない状態なので、単なる自分用の作業メモです。
- 結局、AndroidStudioを使うところまで行かなかった。
- この記事は古いので、上のリンクの方を参照ください。
- Android Studio SetupのDialogのプログレスバーが、全然進まない
- でも、しばらくしてから見ると、Extractされるファイル名が変わっている
- なので、しばらく放って置く2と、インストールが終わって、Nextボタンが有効になる
- 以前のバージョンの設定を読み込むかどうか聞いてくるが、初めてのインストールなので、そのまま
- Finishを押すと、今度はコンポーネントの読込みになって、Standardを選ぶと、
- コンポーネントを読み込んで、やっとAndroidStudioが起動した
- Welcome to Android Studioのダイアログで、
- Import project(Eclipse ADT, Gradle, etc.)という項目を選んでみた
- Eclipseのプロジェクトの場所を指定して、コピー先の場所を指定すると、
- Building 'プロジェクト名’となって、しばらくまた掛かる
Error: Failed to find target with hash string 'android-19' in: C:\Users\itoh\AppData\Local\Android\Sdk
Install missing platform(s) and sync project
- 青いリンクをクリックすると、Android SDK の License Agreementが出るので、Acceptすると
- Android SDK Platform19のコンポーネントがダウンロードされる
- 今度は、Android Gradle pluginの Updateを促されたので、Updateする3
- なんかGladle projectのリフレッシュが始まる
- Register New File Type Associationのダイアログ
- apngのファイルなんか使ってないと思うけど、
- Open matching files in Android Studio: Text のままOKとする
- なんか、文字化けしたファイルが表示された。
- File was loaded in the wrong encoding: 'UTF-8'
- なんか使ってたみたいだけど覚えがない。。たぶん実験的に入れたものだと思う
Gradle tasks [clean, :app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:mockableAndroidJar, :app:prepareDebugUnitTestDependencies]
C:\Users\username\StudioProjects\applname\app\src\main\res\drawable\animated.apng
Error: The file name must end with .xml or .png
Execution failed for task ':app:mergeDebugResources'.
> C:\Users\username\StudioProjects\applname\app\src\main\res\drawable\animated.apng: Error: The file name must end with .xml or .png
BUILD FAILED
Total time: 3.019 secs
2 errors
0 warnings
See complete output in console
- 左側に、Projectとあるので、クリックすると、フォルダツリーが表示されるので、
- resのdrawableから、問題のanimated.apngをドラッグして、デスクトップへ移動する
- Buildメニューから、
- こんなメッセージは出たけど、BUILD SUCCESSFULが表示されたので、大丈夫だろう
- Runボタンを押すと、Nexus7が選択されているので、
- Android Studioの使い方を全く知らないので、とりあえず、キャンセルしておく
- ファイルメニューから、Close Projectする
1IEだと、うまくダウンロード出来なかった。Chromeだとうまく行った。
21時間以上、放っておいたので、どれぐらい掛かったか良く分からないが、随分と時間が掛かった。
3そもそも、Gradleって何か知らないんだけど。
[top]
- とにかく、ちゃんとインストールされていることを確認したい
- AndroidStudioを起動すると、Welcome to Android Studioのダイアログが表示される
- Start a new Android Studio project
- Open an existing Android Studio project
- Check out project from Version Control
- Import project (Eclipse ADT, Gradle, etc.)
- Import an Android code sample
- Start a new Android Studio projectを選択
- Application nameを、 MyHelloWorld
- Company domeinは、 bluefish.orz.hm として、Next →ユニークな名称なら何でも良いが、通常ドメイン名を指定する
- プロジェクトはデフォルトで、以下のフォルダになる
- C:\Users\ユーザ名\StudioProjects\アプリ名
- Target Android Devices は、Phone and Tabletをチェック
- Minimum SDK は、API 15: Androkd 4.0.3 (IceCreamSandwich) で、Next
- Installing Requested Components は、いろいろ表示されるけど、そのままNext
- これは、そのSDKがインストールされていない場合だけだけど
- Add an Activity to Mobile は、Empty Activity を選択して、Next
- Customize the Activity は、デフォルトのまま
- Activity Name : MainActivity →Generate Layout Fileにチェック
- Layout Name: activity_main →Backwards Compatibility(AppCompat)にチェック
- Runボタンを押すと、Select Deployment Targetのダイアログ
No USB devices or running emmulators detected
HAXM is not installed
- USBに、何もデバイスを繋いでいないし、エミュレータも入っていないってことか。
Connected Devices
<none>
Available Virtual Devices
Nexus7(Missing system image)
AVDemulator(minSdk(API 15) > deviceSdk(API 14))
- これは、たぶんEclipseをインストールしているので、その設定が見えているのかも
- Create New Virtual Deviceボタンを押す
- CategoryをPhoneで、Nexus5を選択して、Next
- System Imageは、Recommendedは、Android8.0と7.0だけど、
- 自分のNexus5は、Android6.0.1なので、
- x86 Imagesから、Marshmallow API 23 x86_64 Android 6.0を、Download
- また、コンポーネントがインストールされるので、Finishして、
- ダウンロードした、Marshmallowを選択して、Next
- Android Virtual Device (AVD) は、
- AVD Nameが、'Nexus 5 API 23' になっている
- そのまま、Finish
- Available Virtual Devicesで、Nexus 5 API 23 を選択してOK
- HAXMをインストールした方が良いらしいので、OKすると、
Instant Run requires that the platform corresponding to your target device (Android 6.0 (Marshmallow)) is installed.
- Install and Continue すると、またコンポーネントのインストール
- RAMは、1GiB(Recommended)にする、
- これで、やっとエミュレータが起動する
- Androidが起動して、HelloWorldが実行されるのに、また少し掛かるので待つ
- HelloWorldがちゃんと表示されたので、AndroidStudioのインストールは成功したらしい
- 改めて、Eclipseからインポートしたプロジェクトを開いてみる
- 最初は、ドライバをインストールしないといけないんだけど、
- Eclipseで動かしていたので、ドライバはインストール済み
- Nexus5の実機をUSB接続して、Runボタンを押すと、
- Connected Devices に、LGE Nexus 5があるので、選択してOKする
- あっけなく起動した。。
- Eclipseから、AndroidStudioへのインポートは、何の予備知識も無くやったけど、全く問題なく移行できた。
- それなりに大きなプロジェクトだったけど、特別なコンポーネントとか使って無かったからだろうけど
[top]
- Android Studio の使い方、いろいろメモ
- 左側のProjectツリーに、Rファイルが見当たらない
- 結局、Projectの上にあるプルダウンメニューを、Android→Project Filesに変更すれば、
- 以下のように参照出来る(debugビルドの場合)
- app→app→build→generated/source→r→debug→パッケージ名→R
- Android Studioの実際のファイル構成4
- Project
- app
- libs →ライブラリ
- src
- androidTest
- main
- AndroidManifest.xml →Manifestファイル
- java →Javaソース
- res →リソース
- build
- 最初、いろいろファイルの場所が分からなくて迷ったので、メモ
- プロジェクトを開いた状態で、VCSメニューから、Import into Version Control→Share project on GitHub
- ユーザ名とパスワードを入力
- Master Passwordを設定
- リポジトリ名と、Descriptionを入力
- Shareボタンで、GitHubにリポジトリが作成される
- GitHubに、ブラウザでログインして、リポジトリを確認しておく
- FileメニューのSettings...を開いて、Version Control→Ignored Filesで設定する
- Enable Instant Run to hot swap code/resource changes on deploy (default enabled)を切ると
Having trouble with Instant Run?
We want to make Instant Run perfect, but we need more info about your project to investigate issues.
Please help us troubleshoot and fix Instant Run issues y doing the following:
1. Re-enable Instant Run and activate extra logging
2. Reproduce the Instant Run issue
3. Immediately after reproducing the issue, click Help | Report Instant Run Issue... to send us the issue report.
- build.gradleファイルで、バージョン名を指定する
defaultConfig {
applicationId "zzz.yyy.xxx.appName"
minSdkVersion 17
targetSdkVersion 21
versionCode 1
versionName 1.0.0
}
- applicationId パッケージ名→プロジェクト作成時に設定される
- versionCode バージョン番号→これは整数で、公開する場合は改定の度に大きくしなければならない
- versionName ユーザから見せるバージョン名
PackageInfo packageInfo = null;
try {
packageInfo = getPackageManager().getPackageInfo("hm.orz.bluefish.gdsview", PackageManager.GET_META_DATA);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
String versionName = packageInfo.versionName;
- でも、この方法だと、ソースを全く変更していなくても、日付が更新されてしまう。
- やはり、build.gradleで、以下のようにする
applicationVariants.all { variant ->
variant.outputs.each { output ->
if (output.outputFile != null && output.outputFile.name.endsWith('.apk')) {
def fileName = "${applicationId}_${versionCode}_${versionName}.apk"
output.outputFile = new File(output.outputFile.parent, fileName)
}
}
}
- これは、パッケージ名、バージョンコード、バージョン名を含む apkファイル名に設定する例
- View→Tool Windows→Android Monitorで、下部にLogcatが表示されるようになる
- Logcatの出力方法は、以下のようにすれば良い
Log.d("Tag","Message");
- 自分のアプリケーションのLogのみ表示させたいので、
- 右上のドロップダウンメニューを開いて、Edit Filter Configrationを選び、
- Package Name に、開発中のパッケージ名を入れたフィルタを作っておくと良い
- Logcatが表示されなくなってしまった。
- Tools→Android→Android Device Monitorを開いたら、表示されていたけど、
- いろいろ弄っていたら、それでも表示されなくなった
- Tools→Android→Enable ADB Integrationにチェックが入るようにしたがダメ
- Windowsのコマンドツールを開いて、以下を入れてみるがやっぱりダメ
> adb kill-server
> adb start-server
- さらに、コマンドでlogcatを表示してみると、表示された
> adb logcat
Android Monitorにも表示されるようになった
- 何かの拍子に、Logcatが無効になっていたのかな?
- Fileメニューから、Project Structureを選択、左側のappをクリック
- Flavorsタブで、Min Sdk VersionのAPIレベルを変更する
- Alt-Enter 修正候補の表示
- Ctrl-W 選択範囲を拡張
- Ctrl-Shift-↑↓ 選択部分の移動
- Ctrl-Shift-/ 選択部分の範囲コメントアウト( /* 〜 */ )
- Ctrl-/ 選択部分の行コメントアウト( // )
- Alt-F7 カーソル位置のワード検索
- Shift2回 検索
- Ctrl-Shift-F パスを指定して検索
- Shift-F6 カーソル位置のワードのリネーム
- Alt-↑↓ 前後のメソッドへ移動
- Ctrl-Space コード補完
- Ctrl-B 定義に移動
- Ctrl-O Override可能なメソッド表示
- Ctrl-P パラメータ表示
- Ctrl-Q クイックドキュメント表示
- Ctrl-Alt-L コード整形
- Ctrl-Alt-H カーソル位置のメソッドの呼出先一覧表示
- Ctrl-F12 現在のファイルのメソッドや変数の一覧表示
4デフォルトでは、プロジェクトはユーザディレクトリのStudioProjects下に作られる。
5debugとreleaseで、それぞれ作成される。
6何故か、日付が常に1979/11/30 24:00.00になってしまう。なんか意味のある日付なんだろうか。
[top]
- Build→Clean Projectしたら動いた。
[top]
- EclipseのProjectをインポートしてみる
- 以下のようにfailedになる
Could not find com.android.tools.build:gradle:4.1.1.
Searched in the following locations:
- https://jcenter.bintray.com/com/android/tools/build/gradle/4.1.1/gradle-4.1.1.pom
If the artifact you are trying to retrieve can be found in the repository but without metadata in 'Maven POM' format, you need to adjust the 'metadataSources { ... }' of the repository declaration.
Required by:
project :
Add google Maven repository and sync project
Open File
- Project Structure
- Project
- Android Gradle Plugin Version 4.1.1
- Gradle Version 6.5
[top]
[プログラムの部屋に戻る]