android.support.v7.app.AppCompatActivity不能使用的解決辦法


最近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 還包括以下功能:

  1. AndroidX 中的所有軟件包都使用一致的命名空間,以字符串 androidx 開頭。支持庫軟件包已映射到對應的 androidx.* 軟件包。有關所有舊類到新類以及舊構建工件到新構建工件的完整映射,請參閱軟件包重構頁面。
  2. 與支持庫不同,androidx 軟件包會單獨維護和更新。從版本 1.0.0 開始,androidx 軟件包使用嚴格的語義版本控制。您可以單獨更新項目中的各個 AndroidX 庫。
  3. 版本 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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM