Objenesis is a small Java library that serves one purpose: To instantiate a new object of a particular class.
Okay, it's pretty easy to instantiate objects in Java through standard reflection. However there are many cases where you need to go beyond what reflection provides. For example, if there's no public constructor, you want to bypass the constructor code, or set final fields. There are numerous clever (but fiddly) approaches to getting around this…
SDK for Android
Support for Android API level 18 (#23)
Have the tck returning a value different from zero in case of failures (#24)
Make it easier to call the TCK programmatically (#25)
Show the actual instantiator implementation used by the TCK (#26)
Explicit support for OpenJDK (#27)