Closed amitrkalghatgi closed 4 years ago
It looks like it can't find a package containing with org.apache.http
stuff in it. From your logs, here's the list or .jar
files you are referencing. I don't see any apache
packages, are the classes supposed to be in one of these packages?
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/Jars/js-1.0.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/Jars/zxing-3.2.1.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/Jars/slf4j-api-1.7.24.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/Jars/netty-all-4.0.44.Final.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/Jars/littleproxy-1.1.2.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/Jars/awrepackagedrhinopacparser-1.0.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/Jars/jzlib-1.1.3.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/Jars/httpclient-4.4.1.2.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/packages/Xamarin.Google.Guava.27.1.0.2/build/monoandroid50/guava.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/9/jl/okio.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/11/jl/android.arch.core.common.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/1/jl/__reference__kotlinx-coroutines-android-1.1.1.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/1/jl/__reference__kotlinx-coroutines-core-1.1.1.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/19/jl/com.android.support.support-annotations.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/8/jl/okhttp3.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/21/jl/com.android.support.collections.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/3/jl/__reference__org.jacoco.agent-0.8.4.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/3/jl/__reference__moshi-1.8.0.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/3/jl/__reference__lang3-3.1.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/3/jl/__reference__classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/3/jl/__reference__kotlinx-coroutines-android-1.1.1.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/3/jl/__reference__gson-2.4.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/3/jl/__reference__kotlin-stdlib-1.3.20.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/3/jl/__reference__moshi-adapters-1.8.0.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/3/jl/__reference__kotlin-reflect-1.3.20.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/3/jl/__reference__koin-core-2.0.1.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/3/jl/__reference__awApteligentBridge-1.0.0.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/3/jl/__reference__zxing-3.2.1.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/3/jl/__reference__koin-java-2.0.1.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/3/jl/__reference__multidex-1.0.1.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/3/jl/__reference__httpclient-4.4.1.2.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/13/jl/android.arch.lifecycle.common.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/50/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/32/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/35/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/34/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/33/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/20/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/18/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/27/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/0/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/7/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/29/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/16/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/42/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/6/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/28/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/17/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/1/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/26/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/44/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/43/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/38/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/36/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/31/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/30/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/37/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/39/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/41/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/48/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/24/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/23/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/4/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/15/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/3/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/12/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/49/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/40/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/2/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/5/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/14/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/22/jl/bin/classes.jar
--ref=/Users/yyyyyyy/Documents/Code/xxxxxxxx-xamarin-android-sdk-bindings/src/XXNetworkLibraryBindings/obj/Release/lp/25/jl/bin/classes.jar
This problem is similar to: https://github.com/xamarin/xamarin-android/issues/4128#issuecomment-588270149
Google moved some types out of android.jar
. The workaround for apps is to use <uses-library/>
in the AndroidManifest.xml
, this also tells the Android OS at runtime the app requires the library. Maybe we don't have a solution for binding projects, though?
Basically you could try something like:
<ReferenceJar Include="C:\Program Files (x86)\Android\android-sdk\platforms\android-29\optional\org.apache.http.legacy.jar" />
Using the appropriate path on your machine and it might solve the issue?
You might also just use <AndroidClassParser>class-parse</AndroidClassParser>
as it is newer/better than jar2xml
.
@jonathanpeppers We tried all solution but still we are stuck. With Visual Studio 8.4.8 it works fine, as we change to preview 8.5 now it is Stable version and also 8.6 preview we facing this issue. let me know if you have any other suggestion.
@akalghatgi can you make a sample project we can try out?
@jonathanpeppers you can use the sample app from following location. https://github.com/vmwareairwatchsdk/vmware-ws1-sdk-xamarin/tree/master/samples/XamarinAndroidSampleApp
@jonathanpeppers , please suggest if anything on this issue.
@akalghatgi @Maddy79 the linked sample does not include a binding project, how are you getting this error?
JARTOXML : warning J2XA006: missing class error was raised while reflecting com.xxxxxxxx.auth.kerberos.MITKerberos5Interface : org/apache/http/HttpEntity
I did get this error:
Compilation can't be completed because some library classes are missing.
Which should be fixed by: https://github.com/xamarin/xamarin-android/pull/4509
Unfortunately your sample is missing several references to java libraries:
Warnings
R8 Missing class: org.jboss.marshalling.ByteInput
R8 Missing class: org.eclipse.jetty.npn.NextProtoNego$ClientProvider
R8 Missing class: org.jboss.marshalling.ByteOutput
R8 Missing class: org.eclipse.jetty.npn.NextProtoNego$ServerProvider
R8 Missing class: org.eclipse.jetty.alpn.ALPN$ServerProvider
R8 Missing class: org.apache.tomcat.jni.CertificateVerifier
R8 Missing class: com.sun.nio.sctp.AbstractNotificationHandler
R8 Missing class: java.lang.ClassValue
R8 Missing class: org.apache.tomcat.jni.CertificateRequestedCallback
R8 Missing class: org.eclipse.jetty.alpn.ALPN$ClientProvider
Can you include the jar files that contain these classes in the binding project? You can use <EmbeddedReferenceJar/>
.
@jonathanpeppers , the missing library reference is the issue we are getting with 8.5+ and 16.5+ versions of VS. Same sample app builds fine with 8.4 and 16.4.
Please note that this issue is seen with 8.6 Preview also. We are stuck with this issue once we updated to 8.5 and 16.5, luckily we had 16.4 version of VS in one of our system and we verified it builds fine there.
@Maddy79 these are actually real missing Java classes. The difference with 16.5 is AndroidDexTool=d8
is the new default.
@jonathanpeppers , we did try to switch to dx while building but still we see the same issue. Please note that this sample app was building and working fine till we moved to 8.5.
AndroidEnableDesugar=True
also opts you into d8/r8.
@jonathanpeppers , AndroidEnableDesugar was enabled few versions back, which was to avoid the below error COMPILETODALVIK : Uncaught translation error : com.android.dx.cf.code.SimException: invalid opcode ba (invokedynamic requires --min-sdk-version >= 26)
@Maddy79 you could try setting android:minSdkVersion="26"
in your AndroidManifest.xml
as the error suggests.
I verified your project works as-is in VS 2019 16.6 Preview 3, which isn't released yet. However, the r8
warnings are still there, you should address those.
This is all completely unrelated to the original issue here:
JARTOXML : warning J2XA006: missing class error was raised while reflecting com.xxxxxxxx.auth.kerberos.MITKerberos5Interface : org/apache/http/HttpEntity
@amitrkalghatgi do you have a sample project showing this problem? Thanks!
@jonathanpeppers, so you are able to build the app but with warnings and no errors.?
@jonathanpeppers it is the same Sample which is shared by @akalghatgi
@Maddy79 with 16.6 Preview3, yes I could build with only warnings because it has this change: https://github.com/xamarin/xamarin-android/pull/4509
@amitrkalghatgi the linked sample doesn't have a binding project: https://github.com/vmwareairwatchsdk/vmware-ws1-sdk-xamarin/tree/master/samples/XamarinAndroidSampleApp
Did I miss something?
@jonathanpeppers here is the Binding project: https://github.com/akalghatgi/BindingsProject
@amitrkalghatgi I was able to build your project with VS 2019 16.6.2 with Xamarin.Android 10.3.1.4: https://github.com/xamarin/xamarin-android/issues/4369#issuecomment-611602591
I didn't get any J2X
warnings. Can you try and let us know? Thanks!
@jonathanpeppers
Steps to Reproduce
Expected Behavior
Warning should not be there and Android Xamarin Sample App should build.
Actual Behavior
Getting JARTOXML warning and resultant dll is restricting the Sample App build
Version Information
Log File