运行 时出现错误 110
Error 110 while running make
我收到以下错误:
frameworks/base/core/java/android/os/mypackage/MyServiceListenerClass.java:283: error 110: Parameter of unavailable type android.os.storage.VolumeInfo in android.os.mypackage.MyServiceListenerClass.myMethod()
我创建了一个包含一些 类 的新包,而那些 类 使用 storage
包中的 VolumeInfo
。
我找不到关于此错误的任何文档。我做错了什么?
更新:
发现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() + "()");
}
}
}
}
所以这个错误的原因是 VolumInfo
文档部分底部的 @hide
属性:
/**
* 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
*/
删除它可以解决问题。
我收到以下错误:
frameworks/base/core/java/android/os/mypackage/MyServiceListenerClass.java:283: error 110: Parameter of unavailable type android.os.storage.VolumeInfo in android.os.mypackage.MyServiceListenerClass.myMethod()
我创建了一个包含一些 类 的新包,而那些 类 使用 storage
包中的 VolumeInfo
。
我找不到关于此错误的任何文档。我做错了什么?
更新:
发现
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() + "()"); } } } }
所以这个错误的原因是 VolumInfo
文档部分底部的 @hide
属性:
/**
* 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
*/
删除它可以解决问题。