Android SDK の 32.0.0 へのアップグレードが発生しました: インストールされたビルド ツール リビジョン 32.0.0 が破損しています

1. 2022 年 5 月 5 日に Android studio を使用して新しいプロジェクトを作成し、アプリの下の build.gradle で使用される SDK はバージョン 32 です。

android {
    compileSdkVersion 32
    buildToolsVersion "32.0.0"

    defaultConfig {
        applicationId "com.example.aidlclient"
        minSdkVersion 19
        targetSdkVersion 32
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    ...
}

プロジェクトを作成すると、次のようにエラーが報告されます

インストールされている Build Tools リビジョン 32.0.0 が破損しています。SDK Manager を使用して削除し、再度インストールする

翻訳: インストールされているビルド ツール バージョン 32.0.0 が壊れています。SDK マネージャーを使用して削除および再インストールする  

第二に、解決策:

SDK インストール ディレクトリを入力します: C:\Users\sunbinkang\AppData\Local\Android\Sdk\build-tools

SDK にはいくつかのバージョンがあることがわかります。

 1. dx.bat を 30.0.2 から 32.0.0 ディレクトリにコピーします。

 2. dx.jar を 30.0.2 の lib ディレクトリから 32.0.0 の lib ディレクトリにコピーします。

 それでおしまい。

3. android:exported の問題点

上記の sdk32 (つまり、Android12) にアップグレードした後、make project はエラーを報告します。

マニフェスト マージの失敗: Android 12 以降を対象とするアプリでは、対応するコンポーネントにインテント フィルタが定義されている場合、「android:exported」に明示的な値を指定する必要があります。詳細については、https://developer.android.com/guide/topics/manifest/activity-element#exported を参照してください。

翻訳:

マニフェストのマージに失敗しました: Android 12 以降を対象とするアプリでは、対応するコンポーネントがインテント フィルターを定義するときに、「 Android:exported 」に明示的な値を指定する必要があります。詳細については、https://developer.android.com/guide/topics/manifest/activity-element#exported を参照してください。 

つまり、Android12 以降では、exported 属性を明示的に指定する必要があります。

true: 外部公開

false: 外界にさらされていない

おすすめ

転載: blog.csdn.net/sunbinkang/article/details/124593051