我刚刚迁移到Androidx,但是在迁移之后,出现以下错误:
由以下原因引起:android.view.InflateException:二进制XML文件第12行:二进制XML文件第2行:错误膨胀了类android.support.design.widget.CoordinatorLayout`
有什么主意吗?
Stacktrace:
Caused by: android.view.InflateException: Binary XML file line #12: Binary XML file line #2: Error inflating class android.support.design.widget.CoordinatorLayout
Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class android.support.design.widget.CoordinatorLayout
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
at android.view.LayoutInflater.createView(LayoutInflater.java:645)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:787)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:964)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:854)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
at android.view.LayoutInflater.inflate(LayoutInflater.java:518)
at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
at android.view.LayoutInflater.inflate(LayoutInflater.java:377)
at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469)
at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
at ir.bijac.com.bijac.BaseActivity.onCreate(BaseActivity.java:43)
at ir.bijac.com.bijac.TestActivity.onCreate(TestActivity.java:22)
compileSdkVersion 28
minSdkVersion 18
targetSdkVersion 28
dependencies {
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:design:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
} ```
答案 0 :(得分:0)
您有没有遗忘的layout-land
目录或其他内容?其中可能包含迁移跳过的一些XML文件。我刚刚发现这就是我的项目中发生的事情。 (也许在其他falvor
中?)
答案 1 :(得分:0)
迁移到Androidx后,我也有类似的经历。我按照以下步骤解决了该问题: [1] 确保布局文件使用此
<androidx.coordinatorlayout.widget.CoordinatorLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
[2] 如果Android Studio在迁移到Androidx后未更改支持库的导入,请执行此步骤。
转到类文件(java或kt),删除与以前的库相关的所有导入,并允许Android Studio导入适当的Androidx库。针对其他所有迁移问题执行这些操作。
您的依赖项应如下所示:
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.drawerlayout:drawerlayout:1.0.0' //DrawerLayout
implementation 'androidx.coordinatorlayout:coordinatorlayout:1.0.0'
implementation 'com.google.android.material:material:1.0.0' //androidx AppBarLayout, CollapsingToolbarLayout etc.
implementation 'androidx.webkit:webkit:1.0.0' //androidx webview