【问题标题】:Android IllegalAccessError to my class methodAndroid IllegalAccessError 到我的类方法
【发布时间】:2019-01-23 11:29:36
【问题描述】:

我的类方法遇到了与 IllegalAccessError 相关的问题(仅在 Android 8 设备上)

我更新了:

  • Android Studio 到 3.3
  • 适用于 Gradle 到 3.3.0 的 Android 插件
  • 升级到 4.10.1

这是我的课:

public class ShareDialogFragment extends BottomSheetDialogFragment {

        @Nullable
        @Override
        public View onCreateView(final @NonNull LayoutInflater inflater, @Nullable final ViewGroup container, @Nullable final Bundle savedInstanceState) {
            final View rootView = inflater.inflate(R.layout.fragment_share, container, false);
            ButterKnife.bind(this, rootView);
            readArguments();

            return rootView;
        }

        private void readArguments() {
            if (getArguments() != null) {
                sharedImageGridId = getArguments().getLong(Constants.Extra.SHARED_IMAGE_GRID_ID);
                isReadyToShare = getArguments().getBoolean(Constants.Extra.SHARED_IMAGE_IS_READY);
            } else {
       listener.onShareError(R.string.main_activity_share_photo_error);
            }
        }
}

这是崩溃堆栈跟踪:

Fatal Exception: java.lang.IllegalAccessError: Method 'void com.jsdev.instasize.fragments.ShareDialogFragment.readArguments()' is inaccessible to class 'com.jsdev.instasize.fragments.ShareDialogFragment' (declaration of 'com.jsdev.instasize.fragments.ShareDialogFragment' appears in /data/app/com.jsdev.instasize-Bj_BEi7m9Z2r1b0gV7ktkQ==/base.apk)
       at com.jsdev.instasize.fragments.ShareDialogFragment.onCreateView(ShareDialogFragment.java:97)
       at android.support.v4.app.Fragment.performCreateView(Fragment.java:2439)
       at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1460)
       at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784)
       at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)

所以在 ShareDialogFragment 类中无法访问 readArguments() 方法。

谷歌搜索并没有帮助找到答案。

有什么建议吗? :)

【问题讨论】:

标签: android gradle android-gradle-plugin gradle-plugin


【解决方案1】:

尝试更改您的私有方法

private void readArguments() {

到公共方法为

public void readArguments() {

【讨论】:

  • 我认为这不是原因。在 Android Studio 和 Gradle 更新之前一切正常
  • 您是否尝试清理并重建项目?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多