Android SDKは、 Androidソフトウェア エコシステム向けのソフトウェア開発キットであり、包括的な開発ツール一式が含まれています。[ 2 ] [ 3 ]これらには、デバッガー、ライブラリ、 QEMUベースのハンドセットエミュレータ、ドキュメント、サンプル コード、チュートリアルなどが含まれます。SDK は公式のAndroid Studio IDE の一部ですが、そのさまざまなツールとリソースは独立して使用できます。
現在サポートされている開発プラットフォームは、Linux(最新のデスクトップLinuxディストリビューション)、Mac OS X 10.5.8以降、およびWindows 7以降を実行しているコンピュータです。
2015年3月現在 Android自体にはSDKは搭載されていませんが、専用のAndroidアプリケーションを使用することでソフトウェア開発は可能です。[ 4 ] [ 5 ] [ 6 ]
2014年末頃までは、公式にサポートされている統合開発環境(IDE) はAndroid Development Tools (ADT) プラグインを使用したEclipseでした。 [ 7 ] 2015 年現在、Android Studio [ 8 ]が公式 IDE ですが、開発者は他の IDE を使用することもできます。ただし、Google は、公式 Android IDE として Android Studio に注力するため、2015 年末以降、ADT が公式に非推奨になったことを明確にしました。さらに、開発者は任意のテキスト エディタを使用して Java ファイルと XML ファイルを編集し、コマンドラインツール ( Java Development KitとApache Antが必要) を使用して Android アプリケーションを作成、ビルド、デバッグしたり、接続されている Android デバイスを制御 (たとえば、再起動のトリガー、ソフトウェア パッケージのリモートインストール) したりできます。[ 9 ] [ 4 ] [ 10 ]
Android SDK の機能強化は、Android プラットフォーム全体の開発と密接に関連しています。SDK は、開発者が古いデバイス向けにアプリケーションを開発したい場合に備えて、古いバージョンの Android プラットフォームもサポートしています。開発ツールはダウンロード可能なコンポーネントであるため、最新バージョンとプラットフォームをダウンロードした後、互換性テストのために古いプラットフォームとツールもダウンロードできます。[ 11 ]
Android アプリケーションは.apk形式でパッケージ化され、/data/appAndroid OS のフォルダに保存されます (セキュリティ上の理由から、このフォルダにはルート ユーザーのみがアクセスできます)。APK パッケージには、.dex ファイル[ 12 ] ( Dalvik実行ファイルと呼ばれるコンパイル済みバイト コード ファイル)、リソース ファイルなどが含まれます。
Android SDKプラットフォームツールは、完全なSDKから個別にダウンロードできるサブセットであり、Android Debug Bridgeやfastbootなどのコマンドラインツールで構成されています。
2011年に、dexdumpユーティリティに構造を検証しない脆弱性が発見され、クラッシュや悪用の可能性が生じました。この脆弱性はCVE -2011-1001として登録されました。[ 13 ]
2014年には、 ADBのホストクライアント実装に別の脆弱性が発見されました。悪意のあるユーザーが、同じシステム上の別のユーザーが、そのユーザーのADBサーバーに接続するADBコマンドを実行した際に、そのユーザーのアカウントにアクセスできる可能性がありました。クライアントにはバッファオーバーフローの脆弱性があり、実行不可能なスタックやASLRなどのセキュリティ強化オプションがコンパイルされていませんでした。[ 14 ]
{{cite book}}: CS1 メンテナンス: その他 (リンク)