Bigkoo / Android-PickerView

This is a picker view for android , support linkage effect, timepicker and optionspicker.(时间选择器、省市区三级联动)
Apache License 2.0
13.44k stars 3.45k forks source link

编译时验证失败!打正式包报错!需要混淆吗?报错信息 #662

Open xuxh6 opened 5 years ago

xuxh6 commented 5 years ago

java.lang.VerifyError: Rejecting class com.bigkoo.pickerview.c.b because it failed compile-time verification (declaration of 'com.bigkoo.pickerview.c.b' appears in /data/app/com.xxx-1/base.apk) at com.bigkoo.pickerview.a.b.build(Unknown Source)

xuxh6 commented 5 years ago

引入的compile 'com.contrarywind:Android-PickerView:4.1.6',,,没有引入library

xuxh6 commented 5 years ago

debug模式下不报错,打正式包崩溃

Coding-2-86 commented 5 years ago

同样问题

xiaosong520 commented 5 years ago

@xuxh6 建议可以先查找mapping 文件com.bigkoo.pickerview.a.b.build 对应的类是什么。看是否配置错混淆。

xuxh6 commented 5 years ago

private void initDatePicker() {

    Calendar selectedDate = Calendar.getInstance();//系统当前时间
    Calendar startDate = Calendar.getInstance();
    startDate.set(1900, 6, 6);//月份是按照0~11代表1月到12月
    Calendar endDate = Calendar.getInstance();
    endDate.set(2069, 6, 6);//月份是按照0~11代表1月到12月
    //时间选择器 ,自定义布局
    pvDateTime = new TimePickerBuilder(this, new OnTimeSelectListener() {
        @Override
        public void onTimeSelect(Date date, View v) {//选中事件回调
            String time = getTime(date);
            tvBirthday.setText(time);
            mPresenter.setUserBirthday(time);
        }
    })
            .setDate(selectedDate)
            .setRangDate(startDate, endDate)
            .setLayoutRes(R.layout.pickerview_custom_lunar, new CustomListener() {

                @Override
                public void customLayout(final View v) {
                    final TextView tvSubmit = (TextView) v.findViewById(R.id.tv_finish);
                    TextView ivCancel = (TextView) v.findViewById(R.id.iv_cancel);
                    tvSubmit.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            pvDateTime.returnData();
                            pvDateTime.dismiss();
                        }
                    });
                    ivCancel.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            pvDateTime.dismiss();
                        }
                    });

                }

            })
            .setType(new boolean[]{true, true, true, false, false, false})
            .isCenterLabel(false) //是否只显示中间选中项的label文字,false则每项item全部都带有label。
            .setDividerColor(Color.rgb(238, 238, 238))
            .build();
}

.build()报错 ,暂时没有解决办法

xiaosong520 commented 5 years ago

@xuxh6 可以尝试keep 住 这几个类看是否有效。