マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

OSS情報

2020.01.01

【OSS情報アーカイブ】Android Studio

【OSS情報アーカイブ】Android Studio

※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。

「Android Studio」とは

「Android Studio」基本情報

■概要

Android Studio(アンドロイドスタジオ)とは、Googleが提供するAndroidネイティブアプリケーション開発用公式統合開発環境(IDE)です。

■基本説明

Android Studioは、すべてのタイプのAndroid搭載端末用アプリを構築するための公式統合開発環境です。

高い生産性で高速で開発ができるように、さまざまな機能やアプリ開発用ツールが搭載されています。

■経緯

・2014年:正式バージョン1.0.0公開

Android Studioは、Eclipse用Android開発ツール「ADT(Android Developer Tools)」をネイティブAndroidアプリケーション開発用公式IDEとして置き換えるために開発されました。

■オフィシャルサイト情報

オフィシャルサイト

→Android Studio(Download Android Studio and SDK tools | Android Developers)

ライセンス情報

Android Studioのライセンスは「Apache License 2.0」です。

詳細について、こちらを参照ください。
→Android Studio →License

動作環境

Android Studioは以下の環境で動作します。
・Windows(64-bit)
・Windows(32-bit)
・Mac
・Linux

ダウンロード

→Android Studio →Android Studio downloads

■同様製品

同様な機能を提供する製品として、次のようなものがあります。

オープンソース製品:「IntelliJ IDEA」「Eclipse」など。

「Android Studio」がサポートするデバイス

Android Studioは、Androidを搭載するすべてのデバイス用アプリを開発できます。

構造化されたコードモジュールによりプロジェクトを機能ごとのユニットに分割し、それぞれ個別にビルド/テスト/デバッグの実施が可能です。

■Androidスマートフォン/タブレット

Android搭載スマートフォン/タブレット用アプリを開発できます。

アイデア次第でグローバル市場で利用されるAndroidアプリを提供できます。

■ウェアラブルプラットフォーム「Wear OS by Google」

「Wear OS by Google」はウェアラブルデバイス向けのプラットフォームです。以前の名称である「Android Wear」から「Wear OS by Google」に変更されています。

Android搭載スマートウォッチ向けアプリなどを開発できます。

→Wear OS by Google Smartwatches

■スマートテレビプラットフォーム「Android TV」

「Android TV」は、Googleが提供しているAndroidを搭載したスマートテレビ用プラットフォームです。

「TV番組表アプリ」「録画アプリ」「ショッピングアプリ」などスマートテレビの大画面を活かしたアプリを開発できます。

→Android TV

■車載テレマティクスプラットフォーム「Android Auto」

「Android Auto」は、Android端末を自動車のテレマティクス装置と連動させるシステムです。対応する車載機器とAndroidスマートフォンをUSB接続させるなどして動作できます。

ドライブ中の音声操作による「音楽再生機能」「通話機能」などを開発できます。

→Android Auto

「Android Studio」の主な特徴

「Android Studio」の主な特徴

■「IntelliJ IDEA」ベース

Android Studioは、統合開発環境「IntelliJ IDEA」をベースとしてAndroidアプリ開発用に最適化したものです。

IntelliJの強力なコードエディタと開発ツール類に加えて、Androidアプリ作成の生産性を高めるためのさまざまな機能が追加されています。

→OSSxCloudNews →オープンソースのIntelliJ IDEAとは

■ビルドシステム

迅速ビルド

Android Studioでは、デプロイするためのプロジェクト設定を数クリックで完了でき、デプロイターゲット(実機orエミュレータ)を選択すると、そのターゲットにアプリがデプロイされます。

ビルドツールキット「Gradle」

Android Studioではビルド自動化システム「Gradle」を利用してアプリをビルドします。

Gradleとは、オープンソースのビルド自動化システムです。Apache AntやApache Mavenのコンセプトに基づいています。プロジェクト設定の宣言にはGroovyベースのドメイン固有言語を利用します。

Android Studioはビルドツールキット「Gradle」を使用して、ビルドプロセスを自動化して管理すると同時に、柔軟なカスタムビルド設定を定義できます。各ビルド設定では、独自のコードとリソースのセットを定義できるほか、共通部分の再利用が可能です。

「Android Plugin for Gradle」はビルドツールキットと連携して、Androidアプリのビルドとテストに固有のプロセスと構成可能な設定を提供します。

フレキシブルビルドシステム

Androidビルドシステムはアプリリソースとソースコードをコンパイルして、テスト/展開/署名/配布が可能なAPKにパッケージ化します。ビルドをカスタマイズすることで、単一のプロジェクトからさまざまなデバイス向けの複数ビルドバリアントを生成できます。

「Instant Run」機能

「Instant Run」機能を利用すると、新たにAPKをビルドすることなく、メソッドや既存のアプリリソースの変更内容を実行中のアプリに反映できるため、コード変更による効果をすぐに確認できます。

■テストフレームワーク

Android Studioには、Androidアプリをテストするためのフレームワークが用意されています。Android Studioはテストをシンプルにできるように設計されており、継続的インテグレーション環境にも対応しているため、バグを最小限に抑えながら開発をすすめることが可能です。

Androidアプリをテストするためのさまざまなツールがあらかじめ用意されているため、テストコードを短時間で実行できます。各種テストフレームワークを統合することにより、テスト機能を拡張することもできます。

利用できるテスト機能

・Android API呼び出しテスト「Mockito」
・ユニットテスト自動化フレームワーク「JUnit4」
・UI機能テスト「UI Automator」
・インストルメント化テスト「Espresso」 など

■バージョン管理システム連携

GitHubやSubversionなどのバージョン管理システムと統合されています。

■クラウド統合

「Google Cloud Platform」向けのビルトインツール「Cloud Tools for Android Studio」が用意されています。

「Google Cloud Endpoint」「Firebase Cloud Messaging」などのサービスを利用して、Androidアプリ用バックエンドを作成してデプロイできます。

「Android Studio」の主な機能

「Android Studio」の主な機能

■インテリジェントコードエディタ

Android Studioにはインテリジェントコードエディタが搭載されています。「Kotlin」「Java」などの言語による開発をサポートするコード補完機能を備えています。

「高度なコード補完」「リファクタリング」「コード解析」「C++用シンタックスハイライト表示」などのコーディングサポート機能を提供します。

コード補完機能

Android Studioには3種類のコード補完機能があり、キーボードショートカットを使ってアクセスできます。
・基本的補完—変数、型、メソッド、式などの基本的な候補を提示
・スマート補完—状況に応じた関連オプションを表示
・ステートメント補完—不足している丸かっこ、角かっこ、波かっこ、書式などを追加

■ビジュアルレイアウトエディタ

Android Studioのビジュアルレイアウトエディタでは、各種ウィジェットをデザインエディタにドラッグすることでレイアウトを作成できます。手動でレイアウトXMLを記述する手間を解消できます。

さまざまなAndroidデバイスやバージョンでレイアウトをプレビューできます。また、レイアウトサイズの動的変更も可能です。

■APKアナライザ

Android StudioにはAPKアナライザが含まれており、ビルドプロセス完了後にAPK構成を把握でき、アプリ内のDEXファイルやリソースのデバッグに費やす時間を短縮し、APKサイズを縮小できます。

主な機能

APKアナライザは以下の機能を提供します。
・APK内ファイルの絶対サイズと相対サイズを表示
・DEXファイル構成を表示
・ファイル最終バージョンの表示
・2つのAPKを並べて比較—アプリバージョン間でアプリサイズの変化を確認 など

■高速エミュレータ「Android Emulator」

「Android Emulator」は、Androidデバイスの動作をシミュレートする機能です。Androidを搭載するさまざまなハードウェアに対応しており、高速かつ強力で機能も充実しています。

エミュレータを利用することで、実際のハードウェアデバイスがなくても、Androidアプリのプロトタイプ作成/開発/テストなどを実施できます。必要に応じて、複数のアプリの連携動作テストも行えます。

エミュレータは、ハードウェアデバイスを接続するよりも情報伝達速度が速いため、開発プロセスを高速化できます。また、開発に使用しているPCのマルチコアプロセッサを活用できるためパフォーマンスをさらに改善できます。

■リアルタイムプロファイリングツール

プロファイリングツールは、動作中アプリの「CPU使用率」「メモリ使用量」「ネットワークアクティビティ」などのリアルタイムデータを取得します。

メソッドトレースを実行することで、「コード実行時間測定」「ヒープダンプ取得」「メモリ割り当て表示」「ネットワークで送信されたファイルの詳細検査」などを行え、パフォーマンスのボトルネック特定に利用できます。

 

参考元サイト

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

この記事のタグ一覧

おすすめの記事

【デジタル寺田の3分用語解説】「 人的資本経営 」とは?🧑‍💼

デジタル寺田の3分用語解説

2024.10.08

【デジタル寺田の3分用語解説】「 人的資本経営 」とは?🧑‍💼

「 人的資本経営 」は、企業が従業員のスキルや経験、意欲を高めるために投資を行い、長期的な企業価値の向上を目指す経営手法です。本記事では、人的資本経営の意義やその具体的な取り組みについて分かりやすく解説します。

【デジタル寺田の3分用語解説】「 ASM 」とは?🧩

デジタル寺田の3分用語解説

2024.10.07

【デジタル寺田の3分用語解説】「 ASM 」とは?🧩

「 ASM 」(アタックサーフェースマネジメント)は、システムに存在する脆弱性や攻撃の入り口を可視化し、管理することでリスクを特定し、対策を講じる手法です。攻撃者がシステムに侵入するために利用できる潜在的な脆弱性を理解し、適切な対策を取ることが、セキュリティ対策の第一歩となります。

【デジタル寺田の3分用語解説】「 SAP 2027問題 」とは?⏳

デジタル寺田の3分用語解説

2024.10.07

【デジタル寺田の3分用語解説】「 SAP 2027問題 」とは?⏳

「 SAP 2027問題 」とは、「SAP ERP 6.0」が2027年末でサポート終了する問題です。セキュリティリスクを避けるため、早期に新システムへの移行が必要です。移行は業務プロセスの見直し、効率化のチャンスにもなります。新しい技術を積極的に導入し、挑戦していくことが成功の鍵となります。