I ran into the same problem (exactly for the same class), and I have a better solution than replacing android.jar with framework.jar, as suggested in another answer.
dexmaker. ( dexmaker.1.4.jar dexmaker-dx.1.4.jar). , - VM Dalvik ( , android).
ProxyBuilder, . - , , java.lang.reflect.InvocationHandler, .
ProxyBuilder java.lang.refect.Proxy, , java.lang.refect.Proxy , dexmaker ProxyBuilder , .
- :
public static PrintDocumentAdapter.LayoutResultCallback getLayoutResultCallback(InvocationHandler invocationHandler,
File dexCacheDir) throws IOException{
return ProxyBuilder.forClass(PrintDocumentAdapter.LayoutResultCallback.class)
.dexCache(dexCacheDir)
.handler(invocationHandler)
.build();
}
invocationHandler, .
cacheDir - , dexmaker .