android:android-studio

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
android:android-studio [2019/03/04 00:33] – [build.gradle で JavaCompile にオプションを指定する方法] ともやんandroid:android-studio [2020/01/16 06:01] (現在) – [Android Studio の日本語化] ともやん
行 1: 行 1:
-<ifauth !@loggedinusers><html><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> 
-<script> 
-  (adsbygoogle = window.adsbygoogle || []).push({ 
-    google_ad_client: "ca-pub-0791334967460971", 
-    enable_page_level_ads: true 
-  }); 
-</script></html></ifauth> 
 ====== Android Studio ====== ====== Android Studio ======
  
行 23: 行 16:
 [[https://developer.android.com/ndk/|Android NDK]] の [[https://developer.android.com/ndk/downloads|ダウンロード]] より最新の安定バージョン(r18b)の [[https://dl.google.com/android/repository/android-ndk-r18b-linux-x86_64.zip|android-ndk-r18b-linux-x86_64.zip]] をダウンロードする。\\ [[https://developer.android.com/ndk/|Android NDK]] の [[https://developer.android.com/ndk/downloads|ダウンロード]] より最新の安定バージョン(r18b)の [[https://dl.google.com/android/repository/android-ndk-r18b-linux-x86_64.zip|android-ndk-r18b-linux-x86_64.zip]] をダウンロードする。\\
  
-===== Java (JDK 10) の入手 ===== +===== Java (JDK 11) の入手 =====
-ここではビルドシステムに Gradle 4.7 を使いたいので [[https://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase10-4425482.html|Java Archive Downloads - Java SE 10]] より jdk-10.0.2_linux-x64_bin.rpm をダウンロードする。\\ +
-Gradle 4.7 を使わないのであれば、現時点での最新である JDK 11 を入手しても構わない。\\+
 JDK 11 は [[https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html|Java SE Development Kit 11- - Downloads]] より [[http://download.oracle.com/otn-pub/java/jdk/11.0.2+9/f51449fcd52f4d52b93a989c5c56ed3c/jdk-11.0.2_linux-x64_bin.rpm|jdk-11.0.2_linux-x64_bin.rpm]] をダウンロードする。\\ JDK 11 は [[https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html|Java SE Development Kit 11- - Downloads]] より [[http://download.oracle.com/otn-pub/java/jdk/11.0.2+9/f51449fcd52f4d52b93a989c5c56ed3c/jdk-11.0.2_linux-x64_bin.rpm|jdk-11.0.2_linux-x64_bin.rpm]] をダウンロードする。\\
-その場合は以降の手順で jdk-10.0.2 を jdk-11.0.2 に読み替えて実行すれば良い。\\+<WRAP prewrap 100%> 
 +<code> 
 +$ 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" 
 +</code> 
 +</WRAP>
  
 ===== 開発環境構築 ===== ===== 開発環境構築 =====
行 99: 行 94:
 </code>{{:android:android-studio_jp_001.png?680|Android Studio JP}}\\ </code>{{:android:android-studio_jp_001.png?680|Android Studio JP}}\\
  
 +=== Android Studio を更新した場合 ===
 +構成ディレクトリのパスが変わるので修正を行う。\\
 +<file autoconf ~/Android/android-studio/bin/studio64.vmoptions>
 +-Xms256m
 +-Xmx1280m
 +-XX:ReservedCodeCacheSize=240m
 +-XX:+UseConcMarkSweepGC
 +-XX:SoftRefLRUPolicyMSPerMB=50
 +-XX:CICompilerCount=2
 +-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
 +-Dsun.tools.attach.tmp.only=true
 +
 +-Xverify:none
 +-javaagent:/home/tomoyan/.AndroidStudio3.5/config/jp.sourceforge.mergedoc.pleiades/pleiades.jar
 +</file>
 ==== Android SDK Tools のインストール ==== ==== Android SDK Tools のインストール ====
 [[https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip|sdk-tools-linux-4333796.zip]] を展開して出てきた tools/ ディレクトリを ~/Android/android-sdk-tools/ へ移動する。\\ [[https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip|sdk-tools-linux-4333796.zip]] を展開して出てきた tools/ ディレクトリを ~/Android/android-sdk-tools/ へ移動する。\\
行 105: 行 123:
 [[https://dl.google.com/android/repository/android-ndk-r18b-linux-x86_64.zip|android-ndk-r18b-linux-x86_64.zip]] を展開して出てきた android-ndk-r18b/ ディレクトリを ~/Android/android-ndk-r18b/ へ移動する。\\ [[https://dl.google.com/android/repository/android-ndk-r18b-linux-x86_64.zip|android-ndk-r18b-linux-x86_64.zip]] を展開して出てきた android-ndk-r18b/ ディレクトリを ~/Android/android-ndk-r18b/ へ移動する。\\
  
-==== Java (JDK 10) のインストール ====+==== Java (JDK 11) のインストール ====
 JDK 10 を rpm コマンドでインストールする。\\ JDK 10 を rpm コマンドでインストールする。\\
-Fedora の java は 1.8.0 なので、これを alternatives コマンドで 10.0.2 を利用する様に指示する。\\+Fedora の java は 1.8.0 なので、これを alternatives コマンドで 11.0.2 を利用する様に指示する。\\
 <code> <code>
-$ sudo rpm -ivh jdk-10.0.2_linux-x64_bin.rpm+$ sudo rpm -ivh jdk-11.0.2_linux-x64_bin.rpm
 $ sudo alternatives --config java $ sudo alternatives --config java
  
行 117: 行 135:
 ----------------------------------------------- -----------------------------------------------
              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)              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-10.0.2/bin/java+*+ 2           /usr/java/jdk-11.0.2/bin/java
  
-Enter を押して現在の選択 [+] を保持するか、選択番号を入力します: 2+Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:2
 $ java -version $ java -version
-java version "10.0.2" 2018-07-17 +java version "11.0.2" 2019-01-15 LTS 
-Java(TM) SE Runtime Environment 18.(build 10.0.2+13+Java(TM) SE Runtime Environment 18.(build 11.0.2+9-LTS
-Java HotSpot(TM) 64-Bit Server VM 18.(build 10.0.2+13, mixed mode)+Java HotSpot(TM) 64-Bit Server VM 18.(build 11.0.2+9-LTS, mixed mode)
 </code> </code>
  
行 132: 行 150:
 </code> </code>
 <file bash /etc/profile.d/java.sh> <file bash /etc/profile.d/java.sh>
-export PATH=$PATH:/usr/java/jdk-10.0.2/bin +export PATH=$PATH:/usr/java/jdk-11.0.2/bin 
-export JAVA_HOME=/usr/java/jdk-10.0.2+export JAVA_HOME=/usr/java/jdk-11.0.2
 </file> </file>
 設定を有効化するために以下のコマンドを実行する。\\ 設定を有効化するために以下のコマンドを実行する。\\
行 170: 行 188:
 </file> </file>
 Wayland ではアプリケーションの状態を失うことなくGNOMEシェルを再起動(ALT + F2 で r を入力して Enter)できない為、一旦ログアウトしてログインし直すとデスクトップメニューに Android Studio ショートカットが追加される。\\ Wayland ではアプリケーションの状態を失うことなくGNOMEシェルを再起動(ALT + F2 で r を入力して Enter)できない為、一旦ログアウトしてログインし直すとデスクトップメニューに Android Studio ショートカットが追加される。\\
 +===== Android アプリ開発時のデフォルト設定 =====
 +複数人のチームで開発を行う場合に備えて、Android Studio のデフォルト設定を行っておく。\\
 +Android Studio のデフォルト設定を行うには、「Android Studio へようこそ」の画面右下の「構成」をクリックし「設定」を選択する。\\
 +{{:android:android-studio_welcome_configure.png?400|構成}} {{:android:android-studio_welcome_settings.png?400|設定}}\\
 +「エディター」の「ファイル・エンコーディング」を開き以下の様に設定する。\\
 +<code>
 +グローバル・エンコーディング: UTF-8
 +プロジェクト・エンコーディング: UTF-8
 +プロパティ・ファイルのデフォルト・エンコード: UTF-8
 +UTF-8 ファイルの作成: with NO BOM
 +</code>
 +{{:android:android-studio_settings_editor_file_encodings.png?800|エディターのファイル・エンコーディング}}\\
 +「エディター」の「コード・スタイル」を開き、各種言語ごとにコード・スタイルをチームで統一しておく。\\
 +Java\\
 +{{:android:android-studio_settings_editor_code_style_java.png?800|Java}}\\
 +C/C++\\
 +{{:android:android-studio_settings_editor_code_style_ccpp.png?800|C/C++}}\\
 +Groovy\\
 +{{:android:android-studio_settings_editor_code_style_groovy.png?800|Groovy}}\\
 +Kotlin\\
 +{{:android:android-studio_settings_editor_code_style_kotlin.png?800|Kotlin}}\\
 +XML\\
 +{{:android:android-studio_settings_editor_code_style_xml.png?800|XML}}\\
 +Kotlin のコーディング・スタイルについては、Google の [[https://developer.android.com/kotlin/style-guide|Kotlin style guide | Android Developers]]を参考にすると良いだろう。\\
 +https://developer.android.com/kotlin/style-guide\\
 +
 +===== Android Studio の多重起動 =====
 +Android Studio は多重起動する事が出来ないので、複数ウィンドウを開くことで対処できる。\\
 +<code>
 +$ ~/Android/android-studio/bin/studio.sh &
 +$ ~/Android/android-studio/bin/studio.sh &
 +Already running
 +</code>
 +メニューの [ファイル] - [設定(T)...] の「外観 & 振る舞い > システム設定」で「プロジェクトのオープン時」を以下の様に設定する。\\
 +<code>
 +「◎新規ウィンドウでプロジェクトを開く」
 + ◯同じウィンドウでプロジェクトを開く
 + ◯プロジェクトを開くウィンドウを確認する
 +</code>
 +「新規ウィンドウでプロジェクトを開く」に設定して [OK] ボタンを押す。\\
 +その後は、メニューの [ファイル] - [新規] - [新規プロジェクト] で、別ウィンドウでプロジェクトが開くようになる。\\
 +または、メニューの [ファイル] - [開く...] で、別ウィンドウで既存プロジェクトを開く事ができるようになる。\\
 +
 ===== Inotify Watches Limit ===== ===== Inotify Watches Limit =====
 インテリジェントIDEの場合、作業中のファイルの外部からの変更を監視するためにバックグラウンドプロセスを回している。\\ インテリジェントIDEの場合、作業中のファイルの外部からの変更を監視するためにバックグラウンドプロセスを回している。\\
行 276: 行 337:
  
 ===== build.gradle で JavaCompile にオプションを渡す方法 ===== ===== build.gradle で JavaCompile にオプションを渡す方法 =====
-build.gradle に以下の記述を追加する。(JavaCompile に **-Xlint:unchecked** と **-Xlint:deprecation** を渡す場合)+build.gradle に以下の記述を追加する。(**JavaCompile** に **-Xlint:unchecked** と **-Xlint:deprecation** を渡す場合)
 <file java build.gradle> <file java build.gradle>
 allprojects { allprojects {
     gradle.projectsEvaluated {     gradle.projectsEvaluated {
         tasks.withType(JavaCompile) {         tasks.withType(JavaCompile) {
 +            // unchecked は何の型が入るか定義されてないものを表示、deprecation は非推奨なものを表示
             options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"             options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
         }         }
行 286: 行 348:
 } }
 </file> </file>
 +
 +===== Android x86 KVM 仮想マシンに接続する方法 =====
 +Android x86 仮想マシンで「端末エミュレータ」を起動する。\\
 +端末エミュレータで以下のコマンドを実行し eth0 の IPアドレスを調べる。\\
 +<code>
 +x86_64:/ $ ifconfig
 +lo        Link encap:Local Loopback  
 +          inet addr:127.0.0.1  Mask:255.0.0.0 
 +          inet6 addr: ::1/128 Scope: Host
 +          UP LOOPBACK RUNNING  MTU:65536  Metric:1
 +          RX packets:45 errors:0 dropped:0 overruns:0 frame:
 +          TX packets:45 errors:0 dropped:0 overruns:0 carrier:
 +          collisions:0 txqueuelen:1000 
 +          RX bytes:7344 TX bytes:7344 
 +
 +eth0      Link encap:Ethernet  HWaddr 52:54:00:72:67:7f  Driver e1000
 +          inet addr:192.168.1.128  Bcast:192.168.1.255  Mask:255.255.255.0 
 +          inet6 addr: fe80::3035:d5a0:74ca:40d8/64 Scope: Link
 +          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
 +          RX packets:50068 errors:264 dropped:0 overruns:0 frame:264 
 +          TX packets:15545 errors:0 dropped:0 overruns:0 carrier:
 +          collisions:0 txqueuelen:1000 
 +          RX bytes:61868429 TX bytes:4179438
 +x86_64:/ $
 +</code>
 +IPアドレスが 192.168.1.128 である事が分かる。\\
 +Android Studio の画面左下のターミナルをクリックして、ターミナルに以下のコマンドを入力する。\\
 +<code>
 +$ adb connect 192.168.1.128
 +connected to 192.168.1.128:5555
 +</code>
 +これで Android Studio のメニューから [実行(U)] - [実行(U)] を選択すると「デプロイ対象の選択」一覧に「QEMU Standard PC (Android 8.1 x86)」が表示される。\\ {{:android:android-studio-android_x86_connect.png?640|Android_x86_Connect}}
 +===== トラブルシューティング =====
 +
 +==== Android Studio 3.3.2 で Kotolin の新規プロジェクトが sync failed になる ====
 +{{:android:kotolin_project_sync_failed_001.png?640|Kotolin Project sync failed}}\\
 +<code>
 +/home/tomoyan/my_projects/MyApplication/MyApplication.iml
 +</code>
 +プロジェクトルートにある *.iml の <module> タグを以下の様に修正する。\\
 +**修正前**\\
 +<WRAP prewrap 100%>
 +<file xml MyApplication.iml>
 +<?xml version="1.0" encoding="UTF-8"?>
 +<module external.system.id="GRADLE" type="JAVA_MODULE" version="4">
 +  <component name="FacetManager">
 +    <facet type="android-gradle" name="Android-Gradle">
 +      <configuration>
 +        <option name="GRADLE_PROJECT_PATH" value=":" />
 +      </configuration>
 +    </facet>
 +  </component>
 +  <component name="NewModuleRootManager" inherit-compiler-output="true">
 +    <exclude-output />
 +    <content url="file://$MODULE_DIR$" />
 +    <orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />
 +    <orderEntry type="sourceFolder" forTests="false" />
 +  </component>
 +</module>
 +</file>
 +**修正後**\\
 +<module> タグに\\
 + **external.linked.project.id="(プロジェクト名)"** 属性と\\
 + **external.linked.project.path="$MODULE_DIR$"** 属性と\\
 + **external.root.project.path="(プロジェクトのフルパス)"** 属性を追記する。\\
 +更に <component name="NewModuleRootManager" タグに\\
 + **LANGUAGE_LEVEL="JDK_1_7"** 属性を追記する。\\
 +そして <orderEntry type="jdk" タグを\\
 + **<orderEntry type="inheritedJdk" />** に書き換える。\\
 +<file xml MyApplication.iml>
 +<?xml version="1.0" encoding="UTF-8"?>
 +<module external.linked.project.id="MyApplication" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$USER_HOME$/my_projects/MyApplication" external.system.id="GRADLE" type="JAVA_MODULE" version="4">
 +  <component name="FacetManager">
 +    <facet type="android-gradle" name="Android-Gradle">
 +      <configuration>
 +        <option name="GRADLE_PROJECT_PATH" value=":" />
 +      </configuration>
 +    </facet>
 +  </component>
 +  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="true">
 +    <exclude-output />
 +    <content url="file://$MODULE_DIR$" />
 +    <orderEntry type="inheritedJdk" />
 +    <orderEntry type="sourceFolder" forTests="false" />
 +  </component>
 +</module>
 +</file>
 +</WRAP>
 +メニューの [ファイル] - [すべて保存(S)] をクリックする。\\
 +更にメニューの [ファイル] - [Gradle ファイルとプロジェクトを同期] をクリックする。\\
 +ビルド - 同期化が Build completed success になる事を確認する。\\
 +{{:android:kotolin_project_sync_failed_002.png?640|Kotolin Project Build completed success}}\\
 +
 ===== 参考文献 ===== ===== 参考文献 =====
 [[https://pleiades.io/pages/pleiades_jetbrains_manual.html|JetBrains 製品の日本語化マニュアル - IntelliJ IDEA]]\\ [[https://pleiades.io/pages/pleiades_jetbrains_manual.html|JetBrains 製品の日本語化マニュアル - IntelliJ IDEA]]\\
行 291: 行 446:
 [[https://fedoraproject.org/wiki/Alternatives_system|Alternatives system - Fedora Project Wiki]]\\ [[https://fedoraproject.org/wiki/Alternatives_system|Alternatives system - Fedora Project Wiki]]\\
 [[https://linux.die.net/man/8/alternatives|alternatives(8) - Linux man page]]\\ [[https://linux.die.net/man/8/alternatives|alternatives(8) - Linux man page]]\\
 +[[https://stackoverflow.com/questions/18689365/how-to-add-xlintunchecked-to-my-android-gradle-based-project|How to add -Xlint:unchecked to my Android Gradle based project? - Stack Overflow]]\\
  
  • android/android-studio.1551627210.txt.gz
  • 最終更新: 2019/05/18 02:23
  • (外部編集)