2016-09-20 1 views
0

하게 실행하는 동안 : 일부 클래스와 그 클래스가 storage 패키지에서 VolumeInfo를 사용하여 나는 새로운 패키지를 만든오류 (110) 나는 다음과 같은 오류를 받고 있어요

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()

.

이 오류에 대한 설명을 찾을 수 없습니다. 나는 무엇을 잘못 했는가?

업데이트 :

  • Error 110 = UNAVAILABLE_SYMBOL 것을 알아 냈다.

    /** 
    * 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 
    */ 
    
    :

답변

1

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 속성이었다

  • 는 doclava/Stubs.java에서이 섹션 발견

    제거하면 문제가 해결됩니다.