Get Ip camera rtsp stream uri failed
I try to get my Network Ip Camera RTSP uri through onvif, but failed due to SOAPException Exception handle, i try to handle exception using External javax.xml.soap.jar but android studio fail to build.
There is my code try{ OnvifDevice nvt = new OnvifDevice(cameraIpAddr,cameraUsername,cameraPassword); List<Profile> profiles=nvt.getDevices().getProfiles(); String profileToken=profiles.get(0).getToken(); String rtmpUrl= nvt.getMedia().getRTSPStreamUri(profileToken); }catch (ConnectException ex){ ex.printStackTrace(); } catch (SOAPException ex){ ex.printStackTrace(); }
Android Studio fail Log:
Error:trouble processing "javax/xml/soap/SOAPException.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.
Android Java does not seem to support javax.xml.soap.* which this library is based on. You can try to work on a solution for Android.
can you suggest which library use for SOAPException handle in android I try with jre inside rt.jar file but multidex issue.
List<OnvifPointer> list=OnvifDiscovery.discoverOnvifDevices();
Its alway return list.size() 0
I'm no Android developer and no Android Studio supporter. Try to use Google.
@alpeshprajapati89 something you need add in build.gradle as following: android { ............................ } buildTypes { ................................. } dexOptions { preDexLibraries = false additionalParameters=['--core-library'] } }