运行make

时间:2016-09-20 13:44:12

标签: java android-source

我收到以下错误:

  

frameworks / base / core / java / android / os / mypackage / MyServiceListenerClass.java:283:error 110:android.os.mypackage.MyServiceListenerClass.myMethod()中不可用类型android.os.storage.VolumeInfo的参数< / p>

我创建了一个包含一些类的新包,这些类使用VolumeInfo包中的storage

我找不到有关此错误的任何文档。我做错了什么?

更新

  • 发现Error 110 = UNAVAILABLE_SYMBOL

  • 在doclava / Stubs.java中找到此部分:

    for (ParameterInfo p :  m.parameters()) {
        TypeInfo t = p.type();
        if (!t.isPrimitive()) {
          hiddenClass = findHiddenClasses(t);
          if (null != hiddenClass) {
            if (hiddenClass.qualifiedName() == t.asClassInfo().qualifiedName()) {
              // Parameter type is hidden
              Errors.error(Errors.UNAVAILABLE_SYMBOL, m.position(),
                  "Parameter of unavailable type " + t.fullName() + " in " + cl.qualifiedName()
                  + "." + m.name() + "()");
            } else {
              // Parameter type contains a generic parameter
              Errors.error(Errors.HIDDEN_TYPE_PARAMETER, m.position(),
                  "Parameter uses type parameter of unavailable type " + t.fullName() + " in "
                  + cl.qualifiedName() + "." + m.name() + "()");
            }
          }
        }
    }
    

1 个答案:

答案 0 :(得分:1)

因此出现此错误的原因是@hide文档部分底部的VolumInfo属性:

/**
 * Information about a storage volume that may be mounted. A volume may be a
 * partition on a physical {@link DiskInfo}, an emulated volume above some other
 * storage medium, or a standalone container like an ASEC or OBB.
 * <p>
 * Volumes may be mounted with various flags:
 * <ul>
 * <li>{@link #MOUNT_FLAG_PRIMARY} means the volume provides primary external
 * storage, historically found at {@code /sdcard}.
 * <li>{@link #MOUNT_FLAG_VISIBLE} means the volume is visible to third-party
 * apps for direct filesystem access. The system should send out relevant
 * storage broadcasts and index any media on visible volumes. Visible volumes
 * are considered a more stable part of the device, which is why we take the
 * time to index them. In particular, transient volumes like USB OTG devices
 * <em>should not</em> be marked as visible; their contents should be surfaced
 * to apps through the Storage Access Framework.
 * </ul>
 *
 * @hide
 */

删除它可以解决问题。