2017-11-10 3 views
1

Android O, AOSP. frameworks/base에서 응용 프로그램 내에서 HIDL Java 라이브러리를 사용하려고합니다. 나는 그것을 포함하고 사용하려고하면 MainActivity.java에서오류 : android.hidl.base.V1_0.IBase에 대한 IBase 클래스 파일에 액세스 할 수 없습니다.

LOCAL_JAVA_LIBRARIES := vendor.myvendor.mylibrary-V1.0-java 

:

import vendor.myvendor.mylibrary.V1_0.IGood; 

public class MainActivity extends Activity { 

    public void onCreate(Bundle b) { 
     super.onCreate(b); 
     IGood service; 
    } 
} 

를이 코드는 오류없이 컴파일

the documentation에 따르면, 나는 Android.mk 파일로 HIDL를 추가했습니다 . 나는 몇 가지 방법에 액세스하기 위해, 예를 들면 시도 할 때 :, 또한

LOCAL_STATIC_JAVA_LIBRARIES := android.hidl.base-V1.0-java-static 

:

error: cannot access IBase 
      IGood server = IGood.getService(); 
           ^
class file for android.hidl.base.V1_0.IBase not found 

답변

0

솔루션 라인 다음 Android.mk에 추가하는 것입니다

import vendor.myvendor.mylibrary.V1_0.IGood; 

public class MainActivity extends Activity { 

    public void onCreate(Bundle b) { 
     super.onCreate(b); 
     IGood service = IGood.getService(); 
    } 
} 

를 오류가 발생합니다 그 후에 나는 또 다른 오류가 있습니다 : 그것은 프로 가드 때문에 컴파일되지 않았습니다. 내 경우에는 내가 그것을 해제했다 :

LOCAL_PROGUARD_ENABLED := disabled 

그렇지 않으면,이 난독의 설정을 만들고 HIDL 관련된 모든 .jar의를 추가 할 필요가있다.

모든 것이 작동합니다.