[英]NoClassDefFoundError: Failed resolution of: DataBinderMapper
[英]NoClassDefFoundError failed resolution of databinding class in base module
我剛剛重組了項目以支持即時應用程序,將項目分為3個不同的模塊。 我已經成功部署了Instant App,但經過幾次測試,我發現使用數據出價的一項活動發生了崩潰。
我知道DataBinding僅在基本Feature中受支持,因此我有引用它的類和基本模塊中的布局。 我還添加了ProGuard規則來保留數據綁定類。
這是崩潰的堆棧跟蹤:
FATAL EXCEPTION: main Process:
com.yopapp.yop, PID: 5516 java.lang.NoClassDefFoundError: Failed resolution of:
Lcom/yopapp/yop/databinding/CardViewItemHeaderBinding;
at com.yopapp.yop.a.j.a(DealDetailAdapter.java:258)
at com.yopapp.yop.a.j.onCreateViewHolder(DealDetailAdapter.java:51)
at android.support.v7.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:6493)
at android.support.v7.widget.RecyclerView$Recycler.a(RecyclerView.java:5680)
Proguard規則:
-dontwarn android.databinding.**
-keep class android.databinding.** { *; }
-dontwarn com.yopapp.yop.databinding.**
-keep class com.yopapp.yop.databinding.** { *; }
另外,如果我分析APK,則可以看到com.yopapp.yop.databinding包和CardViewItemHeaderBinding類(但使用斜體字體,我不知道為什么)
我有什么想念的嗎?
我發現如果您在庫中的AndroidManifest.xml中使用與您的應用相同的程序包名稱,則數據綁定類會發生java.lang.NoClassDefFoundError。 嘗試為庫模塊使用其他軟件包名稱。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.