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

后端 未结 2 933
我在风中等你
我在风中等你 2020-12-15 11:22

I am trying to use a third party jar file within an Android application. I have been able to use some of the classes in the jar file just fine. However, one of the classes r

相关标签:
2条回答
  • 2020-12-15 11:44

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

    0 讨论(0)
  • 2020-12-15 12:00

    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.

    0 讨论(0)
提交回复
热议问题