android.support.v7.app.AppCompatActivity不能使用的解決辦法
阿新 • • 發佈:2020-07-28
最近Android Studio 更新到4.0版本後,在構建專案時使用
- android.support.v7.XX
- android.support.v4.XX
發現在xml檔案中,原先我最常使用的DrawerLayout變紅了。同時在andriod虛擬機器上執行時,發現軟體竟然閃退了。
我不禁陷入了思考。在網路上衝浪好幾天後,發現原來是android X搞的鬼。
現在在新版本中構建的時候,預設選用android X的形式。
具體情況,可以在app中的build.gradle中檢視。
例如你可以看到這些新的依賴:
implementation 'androidx.appcompat:appcompat:1.1.0' implementation 'androidx.constraintlayout:constraintlayout:1.1.3' androidTestImplementation 'androidx.test.ext:junit:1.1.1'androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
去Google android研發網站查詢到了關於Android X的解釋:
AndroidX 對原始 Android 支援庫進行了重大改進,後者現在已不再維護。
androidx 軟體包完全取代了支援庫,不僅提供同等的功能,而且提供了新的庫。
此外,AndroidX 還包括以下功能:
- AndroidX 中的所有軟體包都使用一致的名稱空間,以字串 androidx 開頭。支援庫軟體包已對映到對應的 androidx.* 軟體包。有關所有舊類到新類以及舊構建工件到新構建工件的完整對映,請參閱軟體包重構頁面。
- 與支援庫不同,androidx 軟體包會單獨維護和更新。從版本 1.0.0 開始,androidx 軟體包使用嚴格的語義版本控制。您可以單獨更新專案中的各個 AndroidX 庫。
- 版本 28.0.0 是支援庫的最後一個版本。我們將不再發布 android.support 庫版本。所有新功能都將在 androidx 名稱空間中開發。
怎麼使用Android X呢?
例如:
把原先的
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
改為
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
就可以了
原先的很多都要去替換。包括在build.gradle、xml檔案、java檔案中。
具體詳細的替換,請前往谷歌開發者網站檢視。
https://developer.android.com/jetpack/androidx/migrate/class-mappings