[SDK マネージャ]

提供: RAD Studio
移動先: 案内検索

環境オプション への移動


ツール > オプション... > 環境オプション > SDK マネージャ
プロジェクト マネージャ | [ターゲット プラットフォーム]でプラットフォームを右クリック | SDK の編集...

既存の SDK を表示し、macOS, iOSAndroid に対する 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\22.0

このファイルには、SDK ターゲット プラットフォーム向けのアプリケーションをビルドするのに必要なソフトウェアのパスなど、SDK についての情報が含まれます。

実際の SDK ファイル(SDK ローカル ファイル キャッシュ)は、デフォルトでは C:\Users\<user>\Documents\Embarcadero\Studio\SDKs に保存されています。

SDK ローカル ファイル キャッシュの場所を変更するには:

SDK パネル

項目 説明

[SDK バージョン]

定義されている SDK が、対応するプラットフォームごとに一覧表示されます。太字は、プラットフォームのデフォルトの SDK を表します。

  • プラットフォームのデフォルト SDK を設定するには、次のいずれかを行います。
    • SDK のエントリを右クリックし、[デフォルトに設定]を選択します。
    • SDK のエントリをダブルクリックします。
  • SDK を編集するには、[SDK バージョン]リストで SDK を選択し、[SDK プロパティ]に変更を加えて、[OK]をクリックします([OK]をクリックしないと変更は保存されません)。

SDK の 1 つをクリックすると、SDK を管理するためのボタン([削除]および[エクスポート...])が有効になります。

[SDK プロパティ]

選択した SDK の現在の設定が表示されます。

このフレームの内容は、SDK プラットフォームが macOS, iOSAndroid かによって変わります。

macOS および iOS の SDK プロパティ

以下は、macOS または iOS 用の SDK を選択した際に、[SDK プロパティ]フレームに表示されるフィールドです。

[ローカル ルート ディレクトリ]

リモート マシンのファイルがキャッシュされる、ローカル マシン上のディレクトリが表示されます。デフォルトは次の値です。

$(BDSPLATFORMSDKSDIR)\<SDK 名>

変数 $(BDSPLATFORMSDKSDIR) の値は[ツール|オプション...|環境オプション|環境変数で設定します。

C++ では、このディレクトリはコンパイラの --sysroot オプションとして指定されます。リモート パスの先頭には、このローカル ルート ディレクトリが暗黙的に付加されます。

現在の値を新しいデフォルト値に設定するには、[リモート パス]ペインの (SavePaths.png [選択したプラットフォームのデフォルトとしてパスを保存])をクリックします。

[リモート パス]

ローカル マシンに取得されるリモート マシンのパスのリストを表示します。

[リモート パス]は次の項目で構成されます。

  • [ディレクトリ]: ターゲット プラットフォーム上または中間プラットフォーム上のディレクトリを表します。
  • [ファイル マスク/フレームワーク名]: ファイル名(単一のファイルの場合)、または指定されたディレクトリ内のすべてのファイルに一致する * (アスタリスク)ワイルドカードを表します。例: OpenGL
  • [サブディレクトリ]: サブディレクトリを含めるかどうかを表します。

リモート パスには 4 つのカテゴリがあります。このカテゴリによって、パスや項目が C++ コンパイラおよびリンカに渡される方法が次のように決まります。

  • [インクルード パス]は、--sysinc パス(先頭にルート ディレクトリが付いたシステム インクルード ファイルの検索パス)の一部としてコンパイラに渡されます。
  • [ライブラリ パス]は、--syslib パス(先頭にルート ディレクトリが付いたシステム ライブラリの検索パス)の一部としてリンカに渡されます。
  • [フレームワーク]は、コンパイラ(--framework オプションを使用)とリンカ(--Ff オプションを使用)に渡されます。
  • [その他のパス]は、デフォルトではコンパイラにもリンカにも渡されませんが、ローカル マシンに取得されます。

指定されたすべての項目がローカル マシンに取得されます。「PAClient」を参照。

すべてのパスについて、ターゲット ホスト マシンの適切なスタイルを使用する必要があります。たとえば、Mac ホストの場合、パス区切り記号として、スラッシュ(/)を使用します。チルダ(~)などの特定の区切り記号は、Mac で認識されなければなりません。

[リモート パス]フィールドのボタンについて以下に説明します。

ボタン 説明

New.png [新しいパス項目を追加]

[リモート パス項目の追加]ダイアログ ボックスを表示します。[リモート パス]リストにフォーカスがあるときにキーボードで Insert キーを押して、新しい SDK を追加することもできます。

EditPathItem.png[選択したパス項目を編集]

[リモート パス項目の編集]ダイアログ ボックスを表示します。

DeletePathItem.png[選択したパス項目を削除]

確認ダイアログ ボックスを表示し、確認された場合は、選択したパス項目を削除します。[リモート パス]リストにフォーカスがあるときにキーボードで Delete キーを押して、パスを削除することもできます。

ResetPaths.png[選択したプラットフォームのデフォルトにパスをリセット]

確認ダイアログ ボックスが開き、[はい]を選択すると、すべてのパス項目が、選択したプラットフォームのデフォルト SDK の値で上書きされます。[ローカル ルート ディレクトリ]は、空である場合にのみ上書きされます。

復元される値は、次のように決められます。

  • デフォルトをリセットしていない場合は、RAD Studio のデフォルト値になります。
  • デフォルトをリセットした後は、新しい値がデフォルト値になり、C:\Users\<username>\AppData\Roaming\Embarcadero\BDS\22.0 ディレクトリの <platform>.defaultsdkpaths ファイルに格納されます。そのため、ResetPaths.png をクリックすると、作成した新しいデフォルト値が復元されます。
  • 元のデフォルト値を復元するには、ターゲット プラットフォームの .defaultsdkpaths ファイルを削除してください。すると、元のデフォルト パスが新しい SDK に表示されるようになります。

SavePaths.png[選択したプラットフォームのデフォルトとしてパスを保存]

すべてのデフォルト パス項目を、選択したプラットフォームの指定した SDK 値のパス項目で上書きします。 パスをデフォルトとして保存した後は、このページで入力した新しい値が、ResetPaths.png[選択したプラットフォームのデフォルトにパスをリセット])をクリックしたときに復元される値になります。

デフォルト パスを保存するときに、デフォルト用のファイルが作成されます。そのファイル名は、プラットフォーム名に .defaultsdkpaths という拡張子が付いた名前になります。

以下に例を示します。

Macintosh macOS

OSX32.defaultsdkpaths

Win32

Win32.defaultsdkpaths

Win64

Win64.defaultsdkpaths

設定を破棄して元のデフォルトを復元するには、まず %APPDATA% の展開先ディレクトリ(つまり、%AppDataPath%)にある、.defaultsdkpaths ファイルを削除してから、ResetPaths.png[デフォルトにパスをリセット])をクリックします。

UpArrow.png上向きボタン

選択したパス項目をパス グループ内で上に移動します。[リモート パス]リストにフォーカスがあるときにキーボードで Ctrl+↑キーを同時に押して、項目を上に移動することもできます。

DownArrow.png下向きボタン

選択したパス項目をパス グループ内で下に移動します。[リモート パス]リストにフォーカスがあるときにキーボードで Ctrl+↓キーを同時に押して、項目を下に移動することもできます。

[ローカル ファイル キャッシュの更新]

接続プロファイルを選択する画面が開き、選択した接続プロファイルを使用して、指定したすべてのファイルがリモートのターゲット マシンから開発用のローカル マシンへ取り込まれます。SDK ローカル ファイル キャッシュに既に含まれているファイルとサイズまたはタイムスタンプが異なるファイルのみが取り込まれます。取得中は進行状況ダイアログが表示され、処理をキャンセルすることができます。ローカル ファイルが上書きされる場合には、事前に確認ダイアログも表示されます。

[SDK マネージャ]ダイアログ ボックスのパスに変更を加えた場合には、このボタンをクリックする必要があります。

[追加...]

[新規 SDK の追加]ダイアログ ボックスが開き、接続プロファイルを使ってターゲット プラットフォーム用の SDK を追加することができます。[SDK バージョン]リストにフォーカスがあるときにキーボードで Insert キーを押すと、同じことを実行することができます。

[削除]

確認ダイアログが開き、確認が済むと、現在選択されている SDK が削除されます。[SDK バージョン]リストにフォーカスがあるときにキーボードで Delete キーを押しても、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 に認識させるには、そのフォルダ内に tools サブフォルダが存在し、そのサブフォルダ内に source.properties ファイルが存在する必要があります。source.properties ファイルでは、Android SDK のバージョン(Pkg.Revision)が定義されています。

[ZipAlign の場所]

ZipAlign.exe SDK ツールの場所。

以下に例を示します。

  • <Android SDK base path>\tools\ZipAlign.exe
  • <Android SDK base path>\build-tools\<version>\zipalign.exe

[Android の場所]

Android.bat SDK ツールの場所。

[Adb の場所]

Adb.exe SDK プラットフォーム ツールの場所。

[Aapt の場所]

aapt.exe SDK ビルド ツールの場所。

[SDK API レベルの場所]

使用する SDK API レベル フォルダの場所。バージョンは問いません(<SDK フォルダ>\platforms\android-17 など)。

SDK API レベル フォルダが有効なフォルダであると RAD Studio に認識させるには、そのフォルダ内に android.jar ファイルが存在する必要があります。

[NDK]タブ

項目 説明

[NDK 基底パス]

Android NDK フォルダの場所。

[arm-linux-androideabi-ld.exe の場所]

arm-linux-androideabi-ld.exe リンカの場所(<NDK フォルダ>\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin など)。

[arm-linux-androideabi-strip.exe の場所]

arm-linux-androideabi-strip.exe 実行可能ファイルの場所(<NDK フォルダ>\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin など)。

RAD Studio では、この実行可能ファイルを使用して Android アプリケーション パッケージのサイズを縮小します。

[gdbserver の場所]

Android NDK フォルダ内の GDB サーバーの場所(<NDK フォルダ>\prebuilt\android-arm\gdbserver など)。

[NDK API の場所]

Android NDK フォルダ内の API フォルダの場所(<NDK フォルダ>\platforms\android-14 など)。

NDK API フォルダが有効なフォルダであると RAD Studio に認識させるには、そのフォルダ内の arch-arm\usr\lib\libandroid.so にファイルが存在する必要があります。

[C++Builder NDK ライブラリ パス]

Android NDK フォルダ内の C++ ライブラリ フォルダの場所(<NDK フォルダ>\platforms\android-14\arch-arm\usr\lib など)。

ライブラリ パスの新規追加や置換や削除を行いたい場合には、参照ボタン(ProjectOptionsEllipsis.jpg)をクリックすると[ディレクトリ]ダイアログ ボックスが開きます。

[Delphi NDK ライブラリ パス]

Android NDK フォルダ内の Delphi ライブラリ フォルダの場所(<NDK フォルダ>\sources\cxx-stl\stlport\libs\armeabi-v7a など)。

ライブラリ パスの新規追加や置換や削除を行いたい場合には、参照ボタン(ProjectOptionsEllipsis.jpg)をクリックすると[ディレクトリ]ダイアログ ボックスが開きます。

[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 を削除します。
  • RAD Studio がインストールされているマシンの SDK フォルダから、内容をすべて削除します。
    • SDK フォルダは Documents\Embarcadero\Studio\SDKs\ にあります。
  • macOS の PAServer ディレクトリにある scratch-dir フォルダを削除します。

この手順がすべて済んだら、もう一度アプリケーションを起動して、新しい SDK を追加してください。

関連トピック

関連項目