Is there a work around for the Android error “Unable to resolve virtual method java/beans/PropertyDescriptor”?

我怕爱的太早我们不能终老 提交于 2019-11-28 23:49:34

It appears that Java classes related to introspection and reflection are not supported by dalvik.

Not on a blanket basis, AFAIK. One objective of the core Android team is to keep the firmware small, to reduce the cost of devices. One side-effect of this is to only include classes from java.* and javax.* that they feel are essential. Originally, none of java.beans.* existed in Android; now, a few classes and interfaces are available, but not the whole package.

Is that a plan to support this in dalvik in the near future?

You will know when the rest of us know, which is to say, only if it shows up in a release.

Secondly, does anyone have a suggestion for a work around that would get around this problem?

If the third-party JAR is an open source project:

  1. Grab the necessary java.beans classes from Apache Harmony and put them in your project
  2. Refactor them into a separate package (e.g., bondy.beans), since Android will not like it much if you try loading java.beans classes into your project
  3. Modify the third-party JAR to use your refactored edition of the classes

It is possible that jarjar can do something about this as well -- I have not yet used the tool and do not know the extent of its capabilities.

Apache harmony is retired for a long time now. I am using openbeans. And it solves all the problem for me.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!