Android Studioで開発中は普通にRunできていたのに、いざ、Google Playへ公開!と思って、Generate Signed APKとすると、次のエラーが出て、証明書でサインされたApkファイルが作れません。
Error:(16, 12) Error: This fragment should provide a default
constructor (a public constructor with no arguments)
(hogehoge.dialog.DaySelectDialogFragment) [ValidFragment]
public class DaySelectDialogFragment extends DialogFragment {
うげーっってなりますよね。
ちなみに、ダメ!って言われた、DaySelectDialogFragmentのコードはこちら。
public class DaySelectDialogFragment extends DialogFragment {
private ArrayList<Integer> mSelectedItems;
private SettingAlarmHelper alarmHelper;
private Context context;
private TextView on_sunday;
private TextView on_tuesday;
private TextView on_monday;
private TextView on_wednesday;
private TextView on_thursday;
private TextView on_friday;
private TextView on_saturday;
private TextView no_days_select;
private String type;
private TextView off_sunday;
private TextView off_monday;
private TextView off_tuesday;
private TextView off_wednesday;
private TextView off_thursday;
private TextView off_friday;
private TextView no_days_select_off;
private TextView off_saturday;
public DaySelectDialogFragment() {};
public DaySelectDialogFragment(String _type, ArrayList<Integer> _items,
SettingAlarmHelper _alarmHelper, Context _context,
TextView _on_sunday, TextView _on_monday, TextView _on_tuesday,
TextView _on_wednesday, TextView _on_thursday, TextView _on_friday,
TextView _on_saturday, TextView _no_days_select,
TextView _off_sunday, TextView _off_monday, TextView _off_tuesday,
TextView _off_wednesday, TextView _off_thursday, TextView _off_friday,
TextView _off_saturday, TextView _no_days_select_off) {
type = _type;
mSelectedItems = _items;
alarmHelper = _alarmHelper;
context = _context;
on_sunday = _on_sunday;
on_monday = _on_monday;
on_tuesday = _on_tuesday;
on_wednesday = _on_wednesday;
on_thursday = _on_thursday;
on_friday = _on_friday;
on_saturday = _on_saturday;
no_days_select = _no_days_select;
off_sunday = _off_sunday;
off_monday = _off_monday;
off_tuesday = _off_tuesday;
off_wednesday = _off_wednesday;
off_thursday = _off_thursday;
off_friday = _off_friday;
off_saturday = _off_saturday;
no_days_select_off = _no_days_select_off;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
…以下略
下記に情報がありました。
空のコンストラクタ作って、セッターで値をセットしよう!
だそうです。
しかし、時間がなかったので、とりあえずbuild.gradleに下記のように書けば、証明書でサインしたアプリが作れました。
android{
compileSdkVersion 17
buildToolsVersion "21.1.0"
dexOptions {
jumboMode true
}
lintOptions {
abortOnError false
checkReleaseBuilds false
}
}
