机器人O,AOSP。我试图在frameworks/base应用程序中使用HIDL库。
根据文献资料,我已经将HIDL添加到Android.mk文件中:
LOCAL_JAVA_LIBRARIES := vendor.myvendor.mylibrary-V1.0-java在MainActivity.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发布于 2017-11-10 07:15:49
解决方案是向Android.mk添加以下行:
LOCAL_STATIC_JAVA_LIBRARIES := android.hidl.base-V1.0-java-static另外,在那之后,我还犯了另一个错误:它没有编译,因为它的保护程序。在我的例子中,我不得不禁用它:
LOCAL_PROGUARD_ENABLED := disabled否则,需要创建一个proguard配置,并添加与HIDL相关的所有.jar。
在那之后一切都正常。
https://stackoverflow.com/questions/47217525
复制相似问题