当初は AndroidSDK を対応する場所にダウンロードして直接使用するだけで十分だと考えていましたが、コンパイル時にプロンプトが表示されるとは予想していませんでした。
これは、ダウンロードしたビルド ツールが動作しておらず、権限を承認していないため、まだ使用できないことを意味します。
正しい方法は何ですか? まず、Linux システムで実行されているコマンドラインツールをダウンロードし、アドレスをダウンロードして、下にスクロールします。
https://developer.android.com/studio#command-tools
ダウンロード後、解凍します(例:/home/buildkit/android-sdk/cmdline-tools ディレクトリに解凍しました)。
次に、sdkmanager を実行して、対応する SDK をダウンロードします。
./sdkmanager「platform-tools」と入力します。
このプロンプトは、JDK 環境が低すぎるためアップグレードする必要があることを示します。
エラー: メイン クラス com.android.sdklib.tool.sdkmanager.SdkManagerCli のロード中に LinkageError が発生しました
java.lang.UnsupportedClassVersionError: com/android/sdklib/tool/sdkmanager/SdkManagerCli は、より新しいバージョンの Java ランタイム (クラス ファイル バージョン 61.0) によってコンパイルされています。このバージョンの Java ランタイムは、55.0 までのクラス ファイル バージョンのみを認識します。
2 つのオプションがあります。1 つは JDK をアップグレードすることで、もう 1 つは commandlinetools の過去のバージョンを選択することです。
例: https://dl.google.com/android/repository/commandlinetools-linux-7583922_latest.zip
この問題が解決したら、./sdkmanager "platform-tools" と入力します。
まだエラーが発生します
エラー: SDK ルートを特定できませんでした。
エラー: --sdk_root= で明示的に指定するか、このパッケージを予想される場所に移動してください: <sdk>/cmdline-tools/latest/
commandlinetools の下にあるファイルを対応するディレクトリに移動する必要があります。つまり、commandlinetools フォルダーの下に lastet フォルダーを追加し、元の commandlinetools の下にあるすべてのファイルをその中に置く必要があります。
mkdir latest
mv bin/ lib/ NOTICE.txt source.properties -t latest/
次に、 ./sdkmanager --list --channel=0 を実行します。
すべてのプラットフォームとツールを確認できます
インストールする必要があるバージョンを選択してください
./sdkmanager "ビルドツール;30.0.3" "プラットフォーム;android-30"
インストール後、対応するディレクトリを確認してください。
次に環境変数を設定します