首页 > 解决方案 > 更改包名称不会更改生成的文件

问题描述

我的包名称是 com.softmills.ogram 并且我已更改为 com.ogram.sp 并更改了 gradle 文件中的 applicationId 并清理项目并使现金无效并重新启动它显示错误

D:\gram\app\build\generated\source\navigation-args\debug\com\ogram\sp\ui\cancel\CancelFragmentArgs.java:8: 错误:包 com.softmills.ogram.common.model 不存在导入 com.softmills.ogram.common.model.Shift;

这是android生成的类

package com.ogram.sp.ui.cancel;

import android.os.Bundle;
import android.os.Parcelable;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.navigation.NavArgs;
import com.softmills.ogram.common.model.Shift;
import java.lang.Object;
import java.lang.Override;
import java.lang.String;
import java.lang.SuppressWarnings;
import java.lang.System;
import java.util.HashMap;

public class CancelFragmentArgs implements NavArgs {
  private final HashMap arguments = new HashMap();

  private CancelFragmentArgs() {
  }

  private CancelFragmentArgs(HashMap argumentsMap) {
    this.arguments.putAll(argumentsMap);
  }

  @NonNull
  @SuppressWarnings("unchecked")
  public static CancelFragmentArgs fromBundle(@NonNull Bundle bundle) {
    CancelFragmentArgs __result = new CancelFragmentArgs();
    bundle.setClassLoader(CancelFragmentArgs.class.getClassLoader());
    if (bundle.containsKey("shifts")) {
      Shift[] shifts;
      Parcelable[] __array = bundle.getParcelableArray("shifts");
      if (__array != null) {
        shifts = new Shift[__array.length];
        System.arraycopy(__array, 0, shifts, 0, __array.length);
      } else {
        shifts = null;
      }
      __result.arguments.put("shifts", shifts);
    }
    return __result;
  }

  @SuppressWarnings("unchecked")
  @Nullable
  public Shift[] getShifts() {
    return (Shift[]) arguments.get("shifts");
  }

  @SuppressWarnings("unchecked")
  @NonNull
  public Bundle toBundle() {
    Bundle __result = new Bundle();
    if (arguments.containsKey("shifts")) {
      Shift[] shifts = (Shift[]) arguments.get("shifts");
      __result.putParcelableArray("shifts", shifts);
    }
    return __result;
  }

  @Override
  public boolean equals(Object object) {
    if (this == object) {
        return true;
    }
    if (object == null || getClass() != object.getClass()) {
        return false;
    }
    CancelFragmentArgs that = (CancelFragmentArgs) object;
    if (arguments.containsKey("shifts") != that.arguments.containsKey("shifts")) {
      return false;
    }
    if (getShifts() != null ? !getShifts().equals(that.getShifts()) : that.getShifts() != null) {
      return false;
    }
    return true;
  }

  @Override
  public int hashCode() {
    int result = 1;
    result = 31 * result + java.util.Arrays.hashCode(getShifts());
    return result;
  }

  @Override
  public String toString() {
    return "CancelFragmentArgs{"
        + "shifts=" + getShifts()
        + "}";
  }

  public static class Builder {
    private final HashMap arguments = new HashMap();

    public Builder(CancelFragmentArgs original) {
      this.arguments.putAll(original.arguments);
    }

    public Builder() {
    }

    @NonNull
    public CancelFragmentArgs build() {
      CancelFragmentArgs result = new CancelFragmentArgs(arguments);
      return result;
    }

    @NonNull
    public Builder setShifts(@Nullable Shift[] shifts) {
      this.arguments.put("shifts", shifts);
      return this;
    }

    @SuppressWarnings("unchecked")
    @Nullable
    public Shift[] getShifts() {
      return (Shift[]) arguments.get("shifts");
    }
  }
}

导致问题的这一行 import com.softmills.ogram.common.model.Shift; 我不知道为什么它仍然看到旧的包名称所以我手动更改它并再次重新运行但同样的问题导致它生成类

标签: android

解决方案


推荐阅读