我收到以下错误:
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() + "()");
}
}
}
}
答案 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
*/
删除它可以解决问题。