2017-11-10 54 views
1

Android O、AOSP。 frameworks/baseのアプリケーション内でHIDL Javaライブラリを使用しようとしています。エラー:android.hidl.base.V1_0.IBaseのIBaseクラスファイルにアクセスできません。

the documentationによると、私はAndroid.mkファイルにHIDLを追加しました:私はそれをインクルードして使用しようと、MainActivity.java

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; 
    } 
} 

このコードがエラーなしでコンパイル。私はいくつかの方法、例えばアクセスしようとすると、しかし:

import vendor.myvendor.mylibrary.V1_0.IGood; 

public class MainActivity extends Activity { 

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

を私はエラーを取得:

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

答えて

0

ソリューションは、Android.mk次の行に追加することです。また、

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

、それ以降は別のエラーがあります:それはプロガードのためにコンパイルされませんでした。私の場合、私はそれを無効にする必要がありました:

LOCAL_PROGUARD_ENABLED := disabled 

そうでなければ、ProGuardの設定ファイルを作成し、HIDLに関連するすべての.jar Sを、追加するために必要とされています。

その後すべてが動作します。

関連する問題