todvora / eet-client

Client and library for #EET communication - http://www.etrzby.cz/ , written in Java
MIT License
48 stars 26 forks source link

Is there a way to use it on Android? #32

Closed asinel closed 6 years ago

asinel commented 7 years ago

How can I use it on Android with gradle? I tried to integrate it into my app, but I have a problem with Oracle JDK classes inside the library, which are not supported by Android.

todvora commented 7 years ago

Could you check new beta version 3? There are some things removed and simplified, so maybe... https://github.com/todvora/eet-client/tree/client-interface-changes https://github.com/todvora/eet-client/releases/tag/3.0.0-beta-8

asinel commented 7 years ago

Tried with 3.0.0 release getting buildExceiption: Error:trouble processing "javax/xml/bind/Binder.class": Error:Ill-advised or mistaken usage of a core class (java. or javax.) Error:when not building a core library. Error:This is often due to inadvertently including a core library file Error:in your application's project, when using an IDE (such as Error:Eclipse). If you are sure you're not intentionally defining a Error:core class, then this is the most likely explanation of what's Error:going on. Error:However, you might actually be trying to define a class in a core Error:namespace, the source of which you may have taken, for example, Error:from a non-Android virtual machine project. This will most Error:assuredly not work. At a minimum, it jeopardizes the Error:compatibility of your app with future versions of the platform. Error:It is also often of questionable legality. Error:If you really intend to build a core library -- which is only Error:appropriate as part of creating a full virtual machine Error:distribution, as opposed to compiling an application -- then use Error:the "--core-library" option to suppress this error message. Error:If you go ahead and use "--core-library" but are in fact Error:building an application, then be forewarned that your application Error:will still fail to build or run, at some point. Please be Error:prepared for angry customers who find, for example, that your Error:application ceases to function once they upgrade their operating Error:system. You will be to blame for this problem. Error:If you are legitimately using some code that happens to be in a Error:core package, then the easiest safe alternative you have is to Error:repackage that code. That is, move the classes in question into Error:your own package namespace. This means that they will never be in Error:conflict with core system classes. JarJar is a tool that may help Error:you in this endeavor. If you find that you cannot do this, then Error:that is an indication that the path you are on will ultimately Error:lead to pain, suffering, grief, and lamentation.

Error:Execution failed for task ':app:transformClassesWithDexForDebug'.

com.android.build.api.transform.TransformException: java.lang.RuntimeException: java.lang.RuntimeException: Unable to pre-dex '/Users/viktor/.gradle/caches/modules-2/files-2.1/javax.xml.bind/jaxb-api/2.1/b2dfeed54ac106bcd714ba59c1f52ef9167d56e/jaxb-api-2.1.jar' to '/Users/viktor/StudioProjects/Swevo/app/build/intermediates/pre-dexed/debug/jaxb-api-2.1_f263af33476d5418bca6bd9eb7d9579181b44a0f.jar'

asinel commented 7 years ago

http://stackoverflow.com/questions/16803343/javax-cannot-be-imported-in-my-android-app

asinel commented 7 years ago

Problem classes: javax.xml.bind.Binder.class javax.xml.stream.EventFilter.class

todvora commented 7 years ago

The whole SOAP communication and XML binding will probably be problematic for android. Maybe you could try another, android ready implementation: https://github.com/l-ra/openeet-android ? It builds on this library: https://github.com/l-ra/openeet. Author of that implementation builds things from scratch and does not use so many libraries, bindings, which makes the lib somehow simpler and more light-weight.

asinel commented 7 years ago

I don't like l-ra's implementation because it returns only raw xml in string, also I like architecture of this library. I will try to make a fork with simpleXML, downloaded sources, opened it with idea, but it does't build it. Which IDE/building system do you use?

todvora commented 7 years ago

Yeah, that's the trade-off, simple and without dependencies or nice architecture but lots of dependencies and things behind scene. Please make a fork and try it. Let me know if there is something which could make the job easier.

This lib is built by Maven (=standard layout and everything configured in pom.xml). I am using IntelliJ IDEA as my IDE as well, but it should work in any IDE which supports maven projects.

asinel commented 7 years ago

I have done "Check out from VC" with Intellij Idea, it found pom.xml, but there is some unresolved dependencies:

/Users/viktor/StudioProjects/eet-client/src/main/java/cz/tomasdvorak/eet/client/security/SecureEETCommunication.java Error:(21, 21) java: package cz.etrzby.xml does not exist Error:(22, 21) java: package cz.etrzby.xml does not exist Error:(53, 26) java: cannot find symbol symbol: class EETService location: class cz.tomasdvorak.eet.client.security.SecureEETCommunication Error:(76, 15) java: cannot find symbol symbol: class EET location: class cz.tomasdvorak.eet.client.security.SecureEETCommunication Error:(159, 45) java: cannot find symbol symbol: class EET location: class cz.tomasdvorak.eet.client.security.SecureEETCommunication Error:(164, 50) java: cannot find symbol symbol: class EET location: class cz.tomasdvorak.eet.client.security.SecureEETCommunication Error:(53, 54) java: cannot find symbol symbol: class EETService location: class cz.tomasdvorak.eet.client.security.SecureEETCommunication Error:(83, 33) java: cannot find symbol symbol: class EET location: class cz.tomasdvorak.eet.client.security.SecureEETCommunication Error:(86, 15) java: cannot find symbol symbol: class EET location: class cz.tomasdvorak.eet.client.security.SecureEETCommunication Error:(86, 27) java: cannot find symbol symbol: class EET location: class cz.tomasdvorak.eet.client.security.SecureEETCommunication /Users/viktor/StudioProjects/eet-client/src/main/java/cz/tomasdvorak/eet/client/config/SubmissionType.java Error:(3, 21) java: package cz.etrzby.xml does not exist Error:(4, 21) java: package cz.etrzby.xml does not exist /Users/viktor/StudioProjects/eet-client/src/main/java/cz/tomasdvorak/eet/client/persistence/RequestSerializer.java Error:(3, 21) java: package cz.etrzby.xml does not exist Error:(4, 21) java: package cz.etrzby.xml does not exist Error:(22, 35) java: cannot find symbol symbol: class TrzbaType location: class cz.tomasdvorak.eet.client.persistence.RequestSerializer Error:(37, 19) java: cannot find symbol symbol: class TrzbaType location: class cz.tomasdvorak.eet.client.persistence.RequestSerializer Error:(24, 31) java: cannot find symbol symbol: class TrzbaType location: class cz.tomasdvorak.eet.client.persistence.RequestSerializer Error:(24, 54) java: cannot find symbol symbol: class ObjectFactory location: class cz.tomasdvorak.eet.client.persistence.RequestSerializer Error:(25, 59) java: cannot find symbol symbol: class TrzbaType location: class cz.tomasdvorak.eet.client.persistence.RequestSerializer Error:(39, 63) java: cannot find symbol symbol: class TrzbaType location: class cz.tomasdvorak.eet.client.persistence.RequestSerializer Error:(42, 25) java: cannot find symbol symbol: class TrzbaType location: class cz.tomasdvorak.eet.client.persistence.RequestSerializer Error:(42, 101) java: cannot find symbol symbol: class TrzbaType location: class cz.tomasdvorak.eet.client.persistence.RequestSerializer /Users/viktor/StudioProjects/eet-client/src/main/java/cz/tomasdvorak/eet/client/errors/EetErrorConverter.java Error:(3, 21) java: package cz.etrzby.xml does not exist Error:(7, 65) java: cannot find symbol symbol: class OdpovedChybaType location: class cz.tomasdvorak.eet.client.errors.EetErrorConverter /Users/viktor/StudioProjects/eet-client/src/main/java/cz/tomasdvorak/eet/client/EETClient.java Error:(3, 21) java: package cz.etrzby.xml does not exist Error:(4, 21) java: package cz.etrzby.xml does not exist Warning:(7, 40) java: cz.tomasdvorak.eet.client.config.SubmissionType in cz.tomasdvorak.eet.client.config has been deprecated Error:(27, 41) java: cannot find symbol symbol: class TrzbaDataType location: interface cz.tomasdvorak.eet.client.EETClient Error:(27, 5) java: cannot find symbol symbol: class TrzbaType location: interface cz.tomasdvorak.eet.client.EETClient Error:(36, 44) java: cannot find symbol symbol: class TrzbaType location: interface cz.tomasdvorak.eet.client.EETClient Error:(36, 5) java: cannot find symbol symbol: class TrzbaType location: interface cz.tomasdvorak.eet.client.EETClient Error:(45, 33) java: cannot find symbol symbol: class TrzbaType location: interface cz.tomasdvorak.eet.client.EETClient Error:(54, 31) java: cannot find symbol symbol: class TrzbaType location: interface cz.tomasdvorak.eet.client.EETClient Error:(71, 38) java: cannot find symbol symbol: class TrzbaDataType location: interface cz.tomasdvorak.eet.client.EETClient Error:(77, 35) java: cannot find symbol symbol: class TrzbaDataType location: interface cz.tomasdvorak.eet.client.EETClient /Users/viktor/StudioProjects/eet-client/src/main/java/cz/tomasdvorak/eet/client/dto/SubmitResult.java Error:(3, 21) java: package cz.etrzby.xml does not exist Error:(4, 21) java: package cz.etrzby.xml does not exist Error:(12, 35) java: cannot find symbol symbol: class OdpovedType Error:(14, 19) java: cannot find symbol symbol: class TrzbaType location: class cz.tomasdvorak.eet.client.dto.SubmitResult Error:(16, 31) java: cannot find symbol symbol: class TrzbaType location: class cz.tomasdvorak.eet.client.dto.SubmitResult Error:(16, 56) java: cannot find symbol symbol: class OdpovedType location: class cz.tomasdvorak.eet.client.dto.SubmitResult Error:(28, 12) java: cannot find symbol symbol: class TrzbaType location: class cz.tomasdvorak.eet.client.dto.SubmitResult Error:(61, 16) java: cannot find symbol symbol: method getPotvrzeni() location: class cz.tomasdvorak.eet.client.dto.SubmitResult Error:(61, 48) java: cannot find symbol symbol: method getPotvrzeni() location: class cz.tomasdvorak.eet.client.dto.SubmitResult /Users/viktor/StudioProjects/eet-client/src/main/java/cz/tomasdvorak/eet/client/exceptions/CommunicationException.java Error:(3, 21) java: package cz.etrzby.xml does not exist Error:(12, 19) java: cannot find symbol symbol: class TrzbaType location: class cz.tomasdvorak.eet.client.exceptions.CommunicationException Error:(14, 41) java: cannot find symbol symbol: class TrzbaType location: class cz.tomasdvorak.eet.client.exceptions.CommunicationException Error:(19, 12) java: cannot find symbol symbol: class TrzbaType location: class cz.tomasdvorak.eet.client.exceptions.CommunicationException /Users/viktor/StudioProjects/eet-client/src/main/java/cz/tomasdvorak/eet/client/exceptions/CommunicationTimeoutException.java Error:(3, 21) java: package cz.etrzby.xml does not exist Error:(6, 48) java: cannot find symbol symbol: class TrzbaType location: class cz.tomasdvorak.eet.client.exceptions.CommunicationTimeoutException /Users/viktor/StudioProjects/eet-client/src/main/java/cz/tomasdvorak/eet/client/security/WSS4JEetOutInterceptor.java Error:(10, 21) java: package cz.etrzby.xml does not exist Error:(11, 21) java: package cz.etrzby.xml does not exist Error:(33, 51) java: cannot find symbol symbol: class TrzbaType location: class cz.tomasdvorak.eet.client.security.WSS4JEetOutInterceptor Error:(34, 33) java: cannot find symbol symbol: class TrzbaType location: class cz.tomasdvorak.eet.client.security.WSS4JEetOutInterceptor Error:(34, 54) java: cannot find symbol symbol: class TrzbaType location: class cz.tomasdvorak.eet.client.security.WSS4JEetOutInterceptor Error:(35, 33) java: cannot find symbol symbol: class TrzbaHlavickaType location: class cz.tomasdvorak.eet.client.security.WSS4JEetOutInterceptor /Users/viktor/StudioProjects/eet-client/src/main/java/cz/tomasdvorak/eet/client/security/SecurityCodesGenerator.java Error:(3, 21) java: package cz.etrzby.xml does not exist Error:(50, 32) java: cannot find symbol symbol: class TrzbaDataType location: class cz.tomasdvorak.eet.client.security.SecurityCodesGenerator Error:(54, 47) java: cannot find symbol symbol: class TrzbaDataType location: class cz.tomasdvorak.eet.client.security.SecurityCodesGenerator /Users/viktor/StudioProjects/eet-client/src/main/java/cz/tomasdvorak/eet/client/EETClientImpl.java Error:(3, 1) java: package cz.etrzby.xml does not exist Warning:(7, 40) java: cz.tomasdvorak.eet.client.config.SubmissionType in cz.tomasdvorak.eet.client.config has been deprecated Error:(40, 45) java: cannot find symbol symbol: class TrzbaDataType location: class cz.tomasdvorak.eet.client.EETClientImpl Error:(46, 42) java: cannot find symbol symbol: class TrzbaDataType location: class cz.tomasdvorak.eet.client.EETClientImpl Error:(51, 40) java: cannot find symbol symbol: class TrzbaType location: class cz.tomasdvorak.eet.client.EETClientImpl Error:(71, 38) java: cannot find symbol symbol: class TrzbaType location: class cz.tomasdvorak.eet.client.EETClientImpl Error:(99, 54) java: cannot find symbol symbol: class TrzbaType location: class cz.tomasdvorak.eet.client.EETClientImpl Error:(99, 79) java: cannot find symbol symbol: class OdpovedType location: class cz.tomasdvorak.eet.client.EETClientImpl Error:(114, 48) java: cannot find symbol symbol: class TrzbaDataType location: class cz.tomasdvorak.eet.client.EETClientImpl Error:(114, 12) java: cannot find symbol symbol: class TrzbaType location: class cz.tomasdvorak.eet.client.EETClientImpl Error:(118, 44) java: cannot find symbol symbol: class TrzbaDataType location: class cz.tomasdvorak.eet.client.EETClientImpl Error:(118, 13) java: cannot find symbol symbol: class TrzbaType location: class cz.tomasdvorak.eet.client.EETClientImpl Error:(126, 51) java: cannot find symbol symbol: class TrzbaType location: class cz.tomasdvorak.eet.client.EETClientImpl Error:(126, 12) java: cannot find symbol symbol: class TrzbaType location: class cz.tomasdvorak.eet.client.EETClientImpl Error:(139, 13) java: cannot find symbol symbol: class TrzbaHlavickaType location: class cz.tomasdvorak.eet.client.EETClientImpl Error:(147, 56) java: cannot find symbol symbol: class TrzbaDataType location: class cz.tomasdvorak.eet.client.EETClientImpl Error:(147, 13) java: cannot find symbol symbol: class TrzbaKontrolniKodyType location: class cz.tomasdvorak.eet.client.EETClientImpl Error:(41, 15) java: cannot find symbol symbol: class TrzbaType location: class cz.tomasdvorak.eet.client.EETClientImpl Error:(47, 15) java: cannot find symbol symbol: class TrzbaType location: class cz.tomasdvorak.eet.client.EETClientImpl Error:(52, 15) java: cannot find symbol symbol: class EET location: class cz.tomasdvorak.eet.client.EETClientImpl Error:(61, 19) java: cannot find symbol symbol: class OdpovedType location: class cz.tomasdvorak.eet.client.EETClientImpl Error:(72, 15) java: cannot find symbol symbol: class EET location: class cz.tomasdvorak.eet.client.EETClientImpl Error:(75, 70) java: cannot find symbol symbol: class OdpovedType location: class cz.tomasdvorak.eet.client.EETClientImpl Error:(77, 59) java: cannot find symbol symbol: class OdpovedType Error:(79, 31) java: cannot find symbol symbol: class OdpovedType Error:(101, 24) java: cannot find symbol symbol: class OdpovedVarovaniType location: class cz.tomasdvorak.eet.client.EETClientImpl Warning:(115, 50) java: cz.tomasdvorak.eet.client.config.SubmissionType in cz.tomasdvorak.eet.client.config has been deprecated Warning:(118, 107) java: cz.tomasdvorak.eet.client.config.SubmissionType in cz.tomasdvorak.eet.client.config has been deprecated Error:(119, 20) java: cannot find symbol symbol: class TrzbaType location: class cz.tomasdvorak.eet.client.EETClientImpl Error:(131, 15) java: cannot find symbol symbol: class TrzbaKontrolniKodyType location: class cz.tomasdvorak.eet.client.EETClientImpl Warning:(139, 77) java: cz.tomasdvorak.eet.client.config.SubmissionType in cz.tomasdvorak.eet.client.config has been deprecated Error:(140, 20) java: cannot find symbol symbol: class TrzbaHlavickaType location: class cz.tomasdvorak.eet.client.EETClientImpl Error:(151, 15) java: cannot find symbol symbol: class PkpElementType location: class cz.tomasdvorak.eet.client.EETClientImpl Error:(155, 31) java: cannot find symbol symbol: variable PkpEncodingType location: class cz.tomasdvorak.eet.client.EETClientImpl Error:(154, 29) java: cannot find symbol symbol: variable PkpDigestType location: class cz.tomasdvorak.eet.client.EETClientImpl Error:(153, 29) java: cannot find symbol symbol: variable PkpCipherType location: class cz.tomasdvorak.eet.client.EETClientImpl Error:(151, 40) java: cannot find symbol symbol: class PkpElementType location: class cz.tomasdvorak.eet.client.EETClientImpl Error:(157, 15) java: cannot find symbol symbol: class BkpElementType location: class cz.tomasdvorak.eet.client.EETClientImpl Error:(160, 31) java: cannot find symbol symbol: variable BkpEncodingType location: class cz.tomasdvorak.eet.client.EETClientImpl Error:(159, 29) java: cannot find symbol symbol: variable BkpDigestType location: class cz.tomasdvorak.eet.client.EETClientImpl Error:(157, 40) java: cannot find symbol symbol: class BkpElementType location: class cz.tomasdvorak.eet.client.EETClientImpl Error:(162, 20) java: cannot find symbol symbol: class TrzbaKontrolniKodyType location: class cz.tomasdvorak.eet.client.EETClientImpl /Users/viktor/StudioProjects/eet-client/src/main/java/cz/tomasdvorak/eet/client/security/SignatureFaultInterceptor.java Error:(9, 21) java: package cz.etrzby.xml does not exist Error:(10, 21) java: package cz.etrzby.xml does not exist Error:(37, 25) java: cannot find symbol symbol: class OdpovedType location: class cz.tomasdvorak.eet.client.security.SignatureFaultInterceptor Error:(37, 49) java: cannot find symbol symbol: class OdpovedType location: class cz.tomasdvorak.eet.client.security.SignatureFaultInterceptor

I don't have experience with Maven, only with Gradle, what can be a reason?

todvora commented 7 years ago

That's just right. These classes are generated from EET WSDL schema during generate-sources phase of maven. Just execute mvn compile (or do the same from IDE) and they will be generated to target/classes/cz/etrzby/xml/ and recognized by your IDE.

dkambersky commented 5 years ago

Bump: did you @asinel end up getting this to work?