Android:仅在构建的APK上获取IllegalAccessError

时间:2017-10-28 17:08:49

标签: android gradle kotlin

所以,只有在我正在运行APK并且应用程序立即崩溃时,我才会收到此错误。 (无论是签名,无符号发布模式还是调试)

但是当我从android studio运行应用程序时,一切都很好。 我在项目中同时拥有kotlin和java文件。

并且错误是由kotlin文件引起的。 任何想法?

这里是错误日志:

 java.lang.IllegalAccessError: com.app.myapp.fragment.HomeFragment$onViewCreated$1
                                                                                at com.app.myapp.fragment.HomeFragment.onViewCreated(HomeFragment.kt:155)
                                                                                at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1430)
                                                                                at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1740)
                                                                                at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1809)
                                                                                at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:799)
                                                                                at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2580)
                                                                                at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2367)
                                                                                at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2322)
                                                                                at android.support.v4.app.FragmentManagerImpl.execSingleAction(FragmentManager.java:2199)
                                                                                at android.support.v4.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:651)
                                                                                at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:145)
                                                                                at android.support.v4.view.ViewPager.populate(ViewPager.java:1236)
                                                                                at android.support.v4.view.ViewPager.populate(ViewPager.java:1084)
                                                                                at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1614)
                                                                                at android.view.View.measure(View.java:20221)
                                                                                at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:716)
                                                                                at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:462)
                                                                                at android.view.View.measure(View.java:20221)
                                                                                at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1630)
                                                                                at android.view.View.measure(View.java:20221)
                                                                                at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:716)
                                                                                at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:462)
                                                                                at android.view.View.measure(View.java:20221)
                                                                                at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6333)
                                                                                at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
                                                                                at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:139)
                                                                                at android.view.View.measure(View.java:20221)
                                                                                at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6333)
                                                                                at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
                                                                                at android.widget.LinearLayout.measureVertical(LinearLayout.java:747)
                                                                                at android.widget.LinearLayout.onMeasure(LinearLayout.java:629)
                                                                                at android.view.View.measure(View.java:20221)
                                                                                at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6333)
                                                                                at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
                                                                                at android.view.View.measure(View.java:20221)
                                                                                at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6333)
                                                                                at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1464)
                                                                                at android.widget.LinearLayout.measureVertical(LinearLayout.java:747)
                                                                                at android.widget.LinearLayout.onMeasure(LinearLayout.java:629)
                                                                                at android.view.View.measure(View.java:20221)
                                                                                at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6333)
                                                                                at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
                                                                                at com.android.internal.policy.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:3140)
                                                                                at android.view.View.measure(View.java:20221)
                                                                                at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2687)
                                                                                at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1640)
                                                                                at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1932)
                                                                                at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1528)
                                                                                at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7530)
                                                                                at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911)
                                                                                at android.view.Choreographer.doCallbacks(Choreographer.java:686)
                                                                                at android.view.Choreographer.doFrame(Choreographer.java:622)
                                                                                at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:897)
                                                                                at android.os.Handler.handleCallback(Handler.java:739)
                                                                                at android.os.Handler.dispatchMess

以及onViewCreated方法:

override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)

        adapter = MyAdapter(list)
        adapter!!.addOnItemClickListener { pos , Data->
            ...

        }
}

在recyclerView适配器中有一个接口,用于传递每个项目上的数据。再一次,这段代码适用于调试模式,我在其他java类中使用了这个结构。

任何帮助将不胜感激。这件事让我抓狂!

0 个答案:

没有答案