android:android-studio

文書の過去の版を表示しています。


Android Studio

以下の構築手順は Fedora 29 x86_64 での開発環境構築手順である。

Android SDK は Android Studio のインストール中に入手できる。

Android DevelopersAndroid Studio より sdk-tools-linux-4333796.zip をダウンロードする。

Android NDKダウンロード より最新の安定バージョン(r18b)の android-ndk-r18b-linux-x86_64.zip をダウンロードする。

JDK 11 は Java SE Development Kit 11- - Downloads より jdk-11.0.2_linux-x64_bin.rpm をダウンロードする。

$ curl -LO -b "oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/11.0.2+9/f51449fcd52f4d52b93a989c5c56ed3c/jdk-11.0.2_linux-x64_bin.rpm"

以下のディレクトリ構成で環境を構築する。

$HOME/
  +-Android/
        +-android-ndk-r18b/
        +-android-sdk/
        +-android-sdk-tools/
        +-android-studio/

android-studio-ide-182.5264788-linux.zip を展開して出てきた android-studio をホームディレクトリ($HOME)の Android の中に移動する。
そして、以下のコマンドを実行する。

$ cd ~/Android/android-studio/bin/
$ ./studio.sh

「Welcome Android Studio」の画面で「Next」ボタンをクリックする。
Welcome Android Studio

「Install Type」の画面で「Custom」を選択し「Next」ボタンをクリックする。
Install Type

「SDK Components Setup」の画面で全てのコンポーネントにチェックを入れて、「Android SDK Location:」にホームディレクトリの Android/android-sdk ディレクトリを選択し「Next」ボタンをクリックする。
SDK Components Setup

「Verify Settings」の画面で内容を確認し「Next」ボタンをクリックする。
Verify Settings

「Emulator Settings」の画面で「Finish」ボタンをクリックする。
Emulator Settings

「Downloading Components」の画面でコンポーネントのダウンロードが終わるまで待つ。
Downloading Components

「Downloading Components」の画面で「Finish」ボタンをクリックする。
Downloading Components - Finish

「Android Studio」が起動する。
Welcome to Android Studio

JetBrains 製品の日本語化マニュアル - IntelliJ IDEA のページの手順で日本語化する。

  1. そのページより Pleiades - Eclipse、IntelliJ などの日本語化プラグイン へ行き pleiades.zip をダウンロードする。
  2. ダウンロードした pleiades.zip を展開する。
  3. その中の plugins/jp.sourceforge.mergedoc.pleiades/ を ~/.AndroidStudio3.3/config/jp.sourceforge.mergedoc.pleiades/ へ移動する。
    ~/.AndroidStudio3.3/config(構成ディレクトリ) は /home/(ユーザ名)/.(製品名バージョン)/config の様になっており OS や製品によって異なる。
    Android Studio の初回起動時に作成されるが、デフォルトでは不可視になっている。
  4. ~/Android/android-studio/bin/studio64.vmoptions の最後に以下の2行を追記する。
    -Xverify:none
    -javaagent:(構成ディレクトリのフルパス)/jp.sourceforge.mergedoc.pleiades/pleiades.jar
    ~/Android/android-studio/bin/studio64.vmoptions
    -Xms256m
    -Xmx1280m
    -XX:ReservedCodeCacheSize=240m
    -XX:+UseConcMarkSweepGC
    -XX:SoftRefLRUPolicyMSPerMB=50
    -Dsun.io.useCanonCaches=false
    -Djava.net.preferIPv4Stack=true
    -Djdk.http.auth.tunneling.disabledSchemes=""
    -Djna.nosys=true
    -Djna.boot.library.path=
     
    -da
    -Dawt.useSystemAAFontSettings=lcd
    -Dsun.java2d.renderer=sun.java2d.marlin.MarlinRenderingEngine
     
    -Xverify:none
    -javaagent:/home/tomoyan/.AndroidStudio3.3/config/jp.sourceforge.mergedoc.pleiades/pleiades.jar

    (構成ディレクトリのフルパス) は ~/.AndroidStudio3.3/config と記述すると以下のようなエラーになるので注意が必要である。

    Error opening zip file or JAR manifest missing : ~/.AndroidStudio3.3/config/jp.sourceforge.mergedoc.pleiades/pleiades.jar
    Error occurred during initialization of VM
    agent library failed to init: instrument
  5. Android Studio を起動して日本語化されている事を確認する。
    $ ~/Android/android-studio/bin/studio.sh &

    Android Studio JP

sdk-tools-linux-4333796.zip を展開して出てきた tools/ ディレクトリを ~/Android/android-sdk-tools/ へ移動する。

android-ndk-r18b-linux-x86_64.zip を展開して出てきた android-ndk-r18b/ ディレクトリを ~/Android/android-ndk-r18b/ へ移動する。

JDK 10 を rpm コマンドでインストールする。
Fedora の java は 1.8.0 なので、これを alternatives コマンドで 11.0.2 を利用する様に指示する。

$ sudo rpm -ivh jdk-11.0.2_linux-x64_bin.rpm
$ sudo alternatives --config java

2 プログラムがあり 'java' を提供します。

  選択       コマンド
-----------------------------------------------
   1           java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-2.fc29.x86_64/jre/bin/java)
*+ 2           /usr/java/jdk-11.0.2/bin/java

Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:2
$ java -version
java version "11.0.2" 2019-01-15 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.2+9-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.2+9-LTS, mixed mode)

環境変数の設定

PATH と JAVA_HOME の設定を行う。

$ sudo vi /etc/profile.d/java.sh
/etc/profile.d/java.sh
export PATH=$PATH:/usr/java/jdk-11.0.2/bin
export JAVA_HOME=/usr/java/jdk-11.0.2

設定を有効化するために以下のコマンドを実行する。

$ source /etc/profile.d/java.sh

PATH、ANDROID_HOME、ANDROID_NDK の環境変数を設定する。

$ vi ~/.bashrc
~/.bashrc
export PATH="$PATH:$HOME/Android/android-sdk-tools/bin:$HOME/Android/android-sdk/platform-tools:$HOME/Android/android-ndk-r18b"
 
export ANDROID_HOME="$HOME/Android/android-sdk"
export ANDROID_NDK="$HOME/Android/android-ndk-r18b"

デスクトップメニューに Android Studio を追加する。

$ vi ~/.local/share/applications/android-studio.desktop
~/.local/share/applications/android-studio.desktop
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Name=Android Studio
Icon=/home/tomoyan/Android/android-studio/bin/studio.png
Path=/home/tomoyan/Android/android-studio/bin
Exec=/home/tomoyan/Android/android-studio/bin/studio.sh

Wayland ではアプリケーションの状態を失うことなくGNOMEシェルを再起動(ALT + F2 で r を入力して Enter)できない為、一旦ログアウトしてログインし直すとデスクトップメニューに Android Studio ショートカットが追加される。

インテリジェントIDEの場合、作業中のファイルの外部からの変更を監視するためにバックグラウンドプロセスを回している。
バックグラウンドプロセスが使用する方法はプラットフォーム固有であり、Linuxでは Inotify 機能である。
Inotifyでは、プロジェクト内の各ディレクトリに「ウォッチハンドル」を設定する必要があり、デフォルトの監視ハンドルの制限では、適度な規模のプロジェクトでは不十分な場合があり、制限に達すると、IntelliJプラットフォームはディレクトリツリーの再帰的スキャンにフォールバックすることになる。
このような状況を防ぐために、監視制限を増やすことをお勧めする。(例えば 512K)
Inotify Watches Limit - IntelliJ IDEA - Confluence より。

Fedora 29 では標準で 512K である。

$ sysctl -n fs.inotify.max_user_watches
524288
$ sudo vi /etc/sysctl.conf

1024K に設定してみる。

/etc/sysctl.conf
# Android Studio - Inotify Watches Limit の設定
fs.inotify.max_user_watches = 1048576

設定を反映するために以下のコマンドを実行する。

$ sudo sysctl -p --system
* Applying /etc/sysctl.conf ...
fs.inotify.max_user_watches = 1048576
  1. メニューの [ツール] - [Firebase] をクリック。
  2. Firebase アシスタントが表示されるので、ここでは Firebase Cloud Messaging(FCM) を使うために「Cloud メッセージング」をクリックし「Set up Firebase Cloud Messaging」をクリックする。
    Firebase Assistant 001
  3. Set up Firebase Cloud Messaging が表示されるので、[Connect to Firebase] ボタンをクリックする。
    Firebase Assistant 002
  4. ブラウザが起動して Google アカウントでログインする様に求められるので指示に従う。
    Firebase Assistant 003
  5. 「Android Studio が Google アカウントへのアクセスをリクエストしています」と表示されるので [許可] ボタンをクリックする。
    Firebase Assistant 004
  6. Android Studio に「Firebaseへ接続」の画面が表示されるので、[Firebase へ接続] ボタンをクリックする。
    Firebase Assistant 005
  7. 次に Set up Firebase Cloud Messaging の [Add FCM to your app] ボタンをクリックする。
    Firebase Assistant 002
  8. 「Add FCM to your app」画面が表示されるので、ターゲット・モジュールを選択して [Accept Changes] ボタンをクリックする。
    Firebase Assistant 006
  9. google-services.json の追加、build.gradle の変更が行われる。
    google-services.json は、プロジェクトID や API Key などの機密情報が含まれる為 SCM にコミットしない方がよい。
    google-services.json
    {
      "project_info": {
        "project_number": "123456789012",
        "firebase_url": "https://projectname-android.firebaseio.com",
        "project_id": "projectname-android",
        "storage_bucket": "projectname-android.appspot.com"
      },
      "client": [
        {
          "client_info": {
            "mobilesdk_app_id": "1:123456789012:android:abcdef1234567890",
            "android_client_info": {
              "package_name": "net.tomoyan.projectname"
            }
          },
          "oauth_client": [
            {
              "client_id": "123456789012-y67weastetrrtyytyrvtrgrectrvtrtr.apps.googleusercontent.com",
              "client_type": 1,
              "android_info": {
                "package_name": "net.tomoyan.projectname",
                "certificate_hash": "123456789abcdef123456789abcdef123456789a"
              }
            },
            {
              "client_id": "123456789012-y67weastetrrtyytyrvtrgrectrvtrtr.apps.googleusercontent.com",
              "client_type": 3
            }
          ],
          "api_key": [
            {
              "current_key": "yfytyfkyukubto6rudtawshreycetiuyo8pimpi"
     
            }
          ],
          "services": {
            "analytics_service": {
              "status": 1
            },
            "appinvite_service": {
              "status": 2,
              "other_platform_oauth_client": [
                {
                  "client_id": "123456789012-y67weastetrrtyytyrvtrgrectrvtrtr.apps.googleusercontent.com",
                  "client_type": 3
                }
              ]
            },
            "ads_service": {
              "status": 2
            }
          }
        }
      ],
      "configuration_version": "1"
    }

    classpath 'com.google.gms:google-services:4.1.0'
    implementation 'com.google.firebase:firebase-messaging:15.0.2'
    apply plugin: 'com.google.gms.google-services'

    build.gradle に以下の様に追加される。

    build.gradle
    buildscript {
        dependencies {
            classpath 'com.google.gms:google-services:4.1.0'
        }
    }
    dependencies {
        implementation 'com.google.firebase:firebase-messaging:15.0.2'
    }
    apply plugin: 'com.google.gms.google-services'

build.gradle に以下の記述を追加する。(JavaCompile-Xlint:unchecked-Xlint:deprecation を渡す場合)

build.gradle
allprojects {
    gradle.projectsEvaluated {
        tasks.withType(JavaCompile) {
            // unchecked は何の型が入るか定義されてないものを表示、deprecation は非推奨なものを表示
            options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
        }
    }
}
  • android/android-studio.1551841988.txt.gz
  • 最終更新: 2019/05/18 02:23
  • (外部編集)