alibaba / atlas

A powerful Android Dynamic Component Framework.
Apache License 2.0
8.12k stars 1.48k forks source link

[demo +use]intel atom 使用 DataBinding运行报错 #177

Open fengmnegchang opened 6 years ago

fengmnegchang commented 6 years ago

报错定位 mFragmentBinding = DataBindingUtil.inflate(inflater, R.layout.fragmentxxx , container, false); 环境:win10 + intel atom 5.1 64bit 详细log 09-21 21:14:35.028 29394-29394/? E/CrashManager: force stop

                                             --------- beginning of crash

09-21 21:14:35.029 29394-29394/? E/AndroidRuntime: FATAL EXCEPTION: main Process: com.open.yaoraotu, PID: 29394 java.lang.RuntimeException: 1.0.0avalialbeSpace = rootSize = 0 filesSize = 0 databasesSize = 0 prefSize =0From Atlas:classNotFound --- at android.taobao.atlas.runtime.ActivityThreadHook.handleMessage(ActivityThreadHook.java:308) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5275) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:707) Caused by: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.open.yaoraotu/com.open.yaoraotu.activity.mvvm.TopThemePullGridMvvmActivity}: java.lang.RuntimeException: java.lang.ClassNotFoundException: Can't find class null.DataBinderMapperinstalled bundles: com.open.yaoraotu.mvvm:com.open.yaoraotu.service:com.open.yaoraotu.mvp: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2330) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2392) at android.app.ActivityThread.access$800(ActivityThread.java:154) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1306) at android.taobao.atlas.runtime.ActivityThreadHook.handleMessage(ActivityThreadHook.java:269) at android.os.Handler.dispatchMessage(Handler.java:98)  at android.os.Looper.loop(Looper.java:135)  at android.app.ActivityThread.main(ActivityThread.java:5275)  at java.lang.reflect.Method.invoke(Native Method)  at java.lang.reflect.Method.invoke(Method.java:372)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:707)  Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: Can't find class null.DataBinderMapperinstalled bundles: com.open.yaoraotu.mvvm:com.open.yaoraotu.service:com.open.yaoraotu.mvp: at android.databinding.AtlasDataBindingUtil.getDataBinderMapper(AtlasDataBindingUtil.java:400) at android.databinding.AtlasDataBindingUtil.bind(AtlasDataBindingUtil.java:221) at android.databinding.AtlasDataBindingUtil.inflate(AtlasDataBindingUtil.java:130) at android.databinding.AtlasDataBindingUtil.inflate(AtlasDataBindingUtil.java:98) at com.open.yaoraotu.fragment.mvvm.TopThemePullGridMvvmFragment.onCreateView(TopThemePullGridMvvmFragment.java:54) at android.support.v4.app.Fragment.performCreateView(Fragment.java:2087) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1113) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1295) at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:801) at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1682) at android.support.v4.app.FragmentController.execPendingActions(FragmentController.java:388) at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:607) at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1236) at android.taobao.atlas.runtime.InstrumentationHook.callActivityOnStart(InstrumentationHook.java:1071) at android.app.Activity.performStart(Activity.java:6012) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2293) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2392)  at android.app.ActivityThread.access$800(ActivityThread.java:154)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1306)  at android.taobao.atlas.runtime.ActivityThreadHook.handleMessage(ActivityThreadHook.java:269)  at android.os.Handler.dispatchMessage(Handler.java:98)  at android.os.Looper.loop(Looper.java:135)  at android.app.ActivityThread.main(ActivityThread.java:5275)  at java.lang.reflect.Method.invoke(Native Method)  at java.lang.reflect.Method.invoke(Method.java:372)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:707)  Caused by: java.lang.ClassNotFoundException: Can't find class null.DataBinderMapperinstalled bundles: com.open.yaoraotu.mvvm:com.open.yaoraotu.service:com.open.yaoraotu.mvp: at android.taobao.atlas.runtime.DelegateClassLoader.findClass(DelegateClassLoader.java:270) at java.lang.ClassLoader.loadClass(ClassLoader.java:511) at java.lang.ClassLoader.loadClass(ClassLoader.java:469) at android.taobao.atlas.runtime.DelegateClassLoader.loadClass(DelegateClassLoader.java:248) at android.databinding.AtlasDataBindingUtil.getDataBinderMapper(AtlasDataBindingUtil.java:393) at android.databinding.AtlasDataBindingUtil.bind(AtlasDataBindingUtil.java:221)  at android.databinding.AtlasDataBindingUtil.inflate(AtlasDataBindingUtil.java:130)  at android.databinding.AtlasDataBindingUtil.inflate(AtlasDataBindingUtil.java:98)  at com.open.yaoraotu.fragment.mvvm.TopThemePullGridMvvmFragment.onCreateView(TopThemePullGridMvvmFragment.java:54)  at android.support.v4.app.Fragment.performCreateView(Fragment.java:2087)  at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1113)  at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1295)  at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:801)  at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1682)  at android.support.v4.app.FragmentController.execPendingActions(FragmentController.java:388)  at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:607)  at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1236)  at android.taobao.atlas.runtime.InstrumentationHook.callActivityOnStart(InstrumentationHook.java:1071)  at android.app.Activity.performStart(Activity.java:6012)  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2293)  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2392)  at android.app.ActivityThread.access$800(ActivityThread.java:154)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1306)  at android.taobao.atlas.runtime.ActivityThreadHook.handleMessage(ActivityThreadHook.java:269)  at android.os.Handler.dispatchMessage(Handler.java:98)  at android.os.Looper.loop(Looper.java:135)  at android.app.ActivityThread.main(ActivityThread.java:5275)  at java.lang.reflect.Method.invoke(Native Method)  at java.lang.reflect.Method.invoke(Method.java:372)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:707)  Suppressed: java.lang.ClassNotFoundException: Didn't find class "null.DataBinderMapper" on path: DexPathList[[zip file "/data/app/com.open.yaoraotu-1/base.apk"],nativeLibraryDirectories=[/data/app/com.open.yaoraotu-1/lib/x86, /vendor/lib, /system/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:511) at java.lang.ClassLoader.loadClass(ClassLo

hwjump commented 6 years ago

错误是提示你类找不到 com.open.yaoraotu.activity.mvvm.TopThemePullGridMvvmActivity。 所以有两个排查方向:这个类到底打进去了没? 这个类的依赖类有没有进去。 要从原始apk里排查,然后排查到打包过程

fengmnegchang commented 6 years ago

在其他设备上可以使用。

hwjump commented 6 years ago

https://github.com/alibaba/atlas/commit/2ce1a0842e3cc3bb13823bbb75cf34162d695f21