[SDK マネージャ]
環境オプション への移動
ツール > オプション... > 環境オプション > SDK マネージャ
プロジェクト マネージャ | [ターゲット プラットフォーム]でプラットフォームを右クリック | SDK の編集...
既存の SDK を表示し、macOS, iOS や Android に対する SDK を追加および管理することができます。
目次
SDK の概要
ソフトウェア開発キット(SDK)は、ターゲット プラットフォーム向けにアプリケーションをビルドする際に必要なソフトウェアを提供するものです。[SDK マネージャ]ページの SDK は、お使いのシステムの中で必要なソフトウェアを探すために RAD Studio に必要となる情報を提供します。
macOS および iOS の SDK には以下のものが含まれます。
- SDK ターゲット プラットフォーム向けのアプリケーションをビルドするのに必要な Mac 上のファイルおよびフォルダの絶対パスの一覧。
- それらのファイルのコピー。これは接続プロファイルを使って Mac から取り出すことができます。
Android SDK には、お使いのシステムの中の必要なソフトウェアのパスが含まれます。
[SDK マネージャ]ページでは、SDK が関連付けられているターゲット プラットフォームごとに、1 つの SDK がデフォルト SDK になります。デフォルト SDK は太字のフォントで表示されます。Windows プラットフォームにはデフォルト SDK がありません。
SDK を追加しなければならないケース
SDK が必須になるのは、以下のプラットフォームとアプリケーションの種類の組み合わせの場合です。
- macOS プラットフォーム向けの C++ マルチデバイス アプリケーション
- 32 ビット iOS デバイス プラットフォーム向けのマルチデバイス アプリケーション
- 64 ビット iOS デバイス プラットフォーム向けのマルチデバイス アプリケーション
- Android プラットフォーム向けのマルチデバイス アプリケーション
- メモ: RAD Studio のインストーラで Android SDK と NDK がインストールされている場合、インストール場所は、[SDK マネージャ]に認識されています。この場合、SDK フィールドは自動的に設定され、Android アプリケーション用に SDK を追加する必要はありません。
SDK のファイル名とファイル拡張子
SDK 名は、System.IOUtils.TPath.HasValidFileNameChars で有効だと判断されるファイル名でなければなりませんが、それ以外はほとんど制限がありません。SDK 名が重複していると、(追加やインポートを試みたときに)エラーが発生します。
SDK のファイル拡張子は .sdk
で、SDK をファイルとして保存したときに自動的に追加されます。
SDK の名前の例:
- MyFirstOSXSdk
- Gr8daZ!
定義した SDK は、.sdk
ファイルとしてアプリケーション データ フォルダ(DesignIntf.IDesigner170.GetAppDataDirectory から返されるフォルダ)に保存されます。Windows 7 の場合は次のフォルダです。
C:\Users\<username>\AppData\Roaming\Embarcadero\BDS\21.0
このファイルには、SDK ターゲット プラットフォーム向けのアプリケーションをビルドするのに必要なソフトウェアのパスなど、SDK についての情報が含まれます。
実際の SDK ファイル(SDK ローカル ファイル キャッシュ)は、デフォルトでは C:\Users\<user>\Documents\Embarcadero\Studio\SDKs
に保存されています。
SDK ローカル ファイル キャッシュの場所を変更するには:
- Android の場合、SDK マネージャで、新しい場所を指すようにパスを調整します。
- macOS または iOS の場合、「macOS、iOS デバイス、iOS シミュレータ用 SDK のローカル ルート ディレクトリの変更」を参照してください。
SDK パネル
項目 | 説明 |
---|---|
[SDK バージョン] |
定義されている SDK が、対応するプラットフォームごとに一覧表示されます。太字は、プラットフォームのデフォルトの SDK を表します。
SDK の 1 つをクリックすると、SDK を管理するためのボタン([削除]および[エクスポート...])が有効になります。 |
[SDK プロパティ] |
選択した SDK の現在の設定が表示されます。 このフレームの内容は、SDK プラットフォームが macOS, iOS か Android かによって変わります。 |
macOS および iOS の SDK プロパティ
以下は、macOS または iOS 用の SDK を選択した際に、[SDK プロパティ]フレームに表示されるフィールドです。
[ローカル ルート ディレクトリ] |
リモート マシンのファイルがキャッシュされる、ローカル マシン上のディレクトリが表示されます。デフォルトは次の値です。 $(BDSPLATFORMSDKSDIR)\<SDK 名> 変数 $(BDSPLATFORMSDKSDIR) の値は[ツール|オプション...|環境オプション|環境変数]で設定します。 C++ では、このディレクトリはコンパイラの 現在の値を新しいデフォルト値に設定するには、[リモート パス]ペインの ( [選択したプラットフォームのデフォルトとしてパスを保存])をクリックします。 | ||||||||||||||||||||||
[リモート パス] |
ローカル マシンに取得されるリモート マシンのパスのリストを表示します。 [リモート パス]は次の項目で構成されます。
リモート パスには 4 つのカテゴリがあります。このカテゴリによって、パスや項目が C++ コンパイラおよびリンカに渡される方法が次のように決まります。
指定されたすべての項目がローカル マシンに取得されます。「PAClient」を参照。 すべてのパスについて、ターゲット ホスト マシンの適切なスタイルを使用する必要があります。たとえば、Mac ホストの場合、パス区切り記号として、スラッシュ(/)を使用します。チルダ(~)などの特定の区切り記号は、Mac で認識されなければなりません。 [リモート パス]フィールドのボタンについて以下に説明します。
| ||||||||||||||||||||||
[ローカル ファイル キャッシュの更新] |
接続プロファイルを選択する画面が開き、選択した接続プロファイルを使用して、指定したすべてのファイルがリモートのターゲット マシンから開発用のローカル マシンへ取り込まれます。SDK ローカル ファイル キャッシュに既に含まれているファイルとサイズまたはタイムスタンプが異なるファイルのみが取り込まれます。取得中は進行状況ダイアログが表示され、処理をキャンセルすることができます。ローカル ファイルが上書きされる場合には、事前に確認ダイアログも表示されます。 [SDK マネージャ]ダイアログ ボックスのパスに変更を加えた場合には、このボタンをクリックする必要があります。 | ||||||||||||||||||||||
[追加...] |
[新規 SDK の追加]ダイアログ ボックスが開き、接続プロファイルを使ってターゲット プラットフォーム用の SDK を追加することができます。[SDK バージョン]リストにフォーカスがあるときにキーボードで | ||||||||||||||||||||||
[削除] |
確認ダイアログが開き、確認が済むと、現在選択されている SDK が削除されます。[SDK バージョン]リストにフォーカスがあるときにキーボードで | ||||||||||||||||||||||
[エクスポート...] |
ファイル名を入力するダイアログが開き、SDK 設定がその場所に保存されます(デフォルトのファイル名は "<SDK 名>.sdk")。 | ||||||||||||||||||||||
[インポート...] |
.sdk ファイル名を入力するダイアログが開き、そのファイルに含まれる SDK 設定が IDE にインポートされます。 |
Android SDK、NDK、Java のプロパティ
以下は、Android SDK を選択したときに[プロパティ]ペインに表示されるフィールドです。[プロパティ]ペインには、[SDK]、[NDK]、[Java]という 3 つのタブがあります。
[SDK]タブ
項目 | 説明 |
---|---|
[SDK 基底パス] |
Android SDK フォルダの場所。 Android SDK フォルダが有効な Android SDK フォルダであると RAD Studio に認識させるには、そのフォルダ内に |
[ZipAlign の場所] |
ZipAlign.exe SDK ツールの場所。 以下に例を示します。
|
[Android の場所] |
Android.bat SDK ツールの場所。 |
[Adb の場所] |
Adb.exe SDK プラットフォーム ツールの場所。 |
[Aapt の場所] |
aapt.exe SDK ビルド ツールの場所。 |
[SDK API レベルの場所] |
使用する SDK API レベル フォルダの場所。バージョンは問いません( SDK API レベル フォルダが有効なフォルダであると RAD Studio に認識させるには、そのフォルダ内に |
[NDK]タブ
項目 | 説明 |
---|---|
[NDK 基底パス] |
Android NDK フォルダの場所。 |
[arm-linux-androideabi-ld.exe の場所] |
arm-linux-androideabi-ld.exe リンカの場所( |
[arm-linux-androideabi-strip.exe の場所] |
arm-linux-androideabi-strip.exe 実行可能ファイルの場所( RAD Studio では、この実行可能ファイルを使用して Android アプリケーション パッケージのサイズを縮小します。 |
[gdbserver の場所] |
Android NDK フォルダ内の GDB サーバーの場所( |
[NDK API の場所] |
Android NDK フォルダ内の API フォルダの場所( NDK API フォルダが有効なフォルダであると RAD Studio に認識させるには、そのフォルダ内の |
[C++Builder NDK ライブラリ パス] |
Android NDK フォルダ内の C++ ライブラリ フォルダの場所( ライブラリ パスの新規追加や置換や削除を行いたい場合には、参照ボタン()をクリックすると[ディレクトリ]ダイアログ ボックスが開きます。 |
[Delphi NDK ライブラリ パス] |
Android NDK フォルダ内の Delphi ライブラリ フォルダの場所( ライブラリ パスの新規追加や置換や削除を行いたい場合には、参照ボタン()をクリックすると[ディレクトリ]ダイアログ ボックスが開きます。 |
[Java]タブ
項目 | 説明 |
---|---|
[KeyTool の場所] |
KeyTool.exe JDK ツールの場所。 |
[Jarsigner の場所] |
JarSigner.exe JDK ツールの場所。 |
- メモ: Android の SDK プロパティでは、ネットワーク アドレスの場所として二重バックスラッシュで始まるアドレスを使用することはできません。たとえば、ここでは
\\mycompany.com\android\sdk
は有効な値ではありません。代わりに、ネットワーク ドライブを使用してください。
トラブルシューティング(macOS および iOS)
Xcode の複数のインスタンスがインストールされている場合の対処
インストールされている Xcode インスタンスが複数ある場合は、xcode-select
コマンドライン ツールを実行し、その結果がメインの Xcode のインストール フォルダを指しているかどうかを確認する必要があります。xcode-select -p
と入力すると、現在選択されている開発者ディレクトリのパスが表示されます。
MacOS yourname $ xcode-select -p /Applications/Xcode.app/Contents/Developer
コマンドライン ツールで表示されたフォルダがメインの Xcode のインストール フォルダでない場合は、xcode-select -s <パス>
と入力すると、開発者ディレクトリを設定することができます。
MacOS yourname $ sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
詳細は、xcode-select についての Apple 社のドキュメントを参照してください。
Xcode ディレクトリが間違っているため SDK バージョンが表示されない
[新規 SDK の追加]ダイアログ ボックスで接続プロファイルを選択すると、リモート マシン上のプラットフォーム アシスタントによって検出された SDK バージョンが[SDK バージョンの選択]ドロップダウン リストに表示されます。
[SDK バージョンの選択]ドロップダウン リストが空であったり、必要な SDK バージョンが表示されなかったり、以下のエラーが発生することがあります。
No SDKs could be found for the iOS Device/Simulator platform. Did you install the Command Line Tools on your Xcode?
その場合には、Mac にインストールした Xcode を確認し、xcode-select
コマンドライン ツールが Xcode のインストール フォルダを参照していることを確認します。「Xcode の複数のインスタンスがインストールされている場合の対処」を参照してください。
xcode-select
が参照しているパスが正しい場合には、以下のディレクトリの内容を確認します。
<Xcode 開発者ディレクトリ>/Platforms/<プラットフォーム>.platform/Developer/SDKs/
- 例:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
この <プラットフォーム> には以下が入ります。
- macOS プラットフォームの場合は
MacOSX
- 32 ビット iOS デバイス プラットフォームおよび 64 ビット iOS デバイス プラットフォームの場合は
iPhoneOS
- iOS シミュレータ プラットフォームの場合は
iPhoneSimulator
このディレクトリの SDK バージョンがプラットフォーム アシスタントによって読み取られ、[SDK バージョンの選択]ドロップダウン リストにはその SDK バージョンだけが含められます。
- メモ: macOS プラットフォーム用のインストールが必要な場合にのみ、プラットフォーム アシスタントによって[Command Line Tools]という追加の SDK が提供されます。
XCode を更新した後の "UnKnown Compiler" エラー
macOS で XCode を更新すると [bccosx Fatal Error]... unKnown Compiler
([bccosx 致命的エラー]... コンパイラが不明です)というエラーが発生する可能性があります。
この問題を解決する手順は以下のとおりです。
- [SDK マネージャ]から SDK を削除します。
- [ツール|オプション...|環境オプション|SDK マネージャ]を開きます。
- メモ: [SDK マネージャ]は、[プロジェクト マネージャ]の[ターゲット プラットフォーム]で[macOS]プラットフォームを右クリックし、[SDK の編集...]を選択して開くこともできます。
- [macOS]セクションで SDK のバージョンを選択し、[削除]をクリックします。
- [ツール|オプション...|環境オプション|SDK マネージャ]を開きます。
- RAD Studio がインストールされているマシンの SDK フォルダから、内容をすべて削除します。
- SDK フォルダは
Documents\Embarcadero\Studio\SDKs\
にあります。
- SDK フォルダは
- macOS の PAServer ディレクトリにある scratch-dir フォルダを削除します。
この手順がすべて済んだら、もう一度アプリケーションを起動して、新しい SDK を追加してください。