How can I use the latest version of selendroid in appium?

Selendroid has a problem running with Cordova 3.7. Their .15 version has this fix. I’d like to use it in my appium. How can I replace the selendroid with this latest version?

I’ve not done much with appium, so please be explicit.

Are you running from source code or using client?

I’m running from client. I now have all the source though and am attempting to build (my goal is to build the client so others on my team can just use that).

I believe I’m passed all the dependency and pathing issues. But now I’m hitting a problem initializing the JVM, saying I don’t have enough space. I have plenty of RAM, so I think its probably a jvm arg I need to tweek. I have been unable to find where to do so. Here is the relevant section of the output:

[DEBUG] (f) project = MavenProject: io.selendroid:android-driver-app:0.15.0 @
C:\Users\IBM_ADMIN\appium\submodules\selendroid\android-driver\pom.xml
[DEBUG] (f) session = org.apache.maven.execution.MavenSession@162f2fe
[DEBUG] – end configuration –
[DEBUG] Adding jvm argument -Xmx1024M
[DEBUG] Using non-obfuscated input
[DEBUG] Adding dex input : C:\Users\IBM_ADMIN\appium\submodules\selendroid\andro
id-driver\target\classes
[DEBUG] c:\java\jdk71\jre\bin\java [-Xmx1024M, -jar, C:\android\sdk\build-tools
android-4.4W\lib\dx.jar, --dex, --output=C:\Users\IBM_ADMIN\appium\submodules\se
lendroid\android-driver\target\classes.dex, C:\Users\IBM_ADMIN\appium\submodules
\selendroid\android-driver\target\classes]
[INFO] Convert classes to Dex : C:\Users\IBM_ADMIN\appium\submodules\selendroid
android-driver\target\classes.dex
[DEBUG] ANDROID-040-000: Executing command: Commandline = cmd.exe /X /C “c:\java
\jdk71\jre\bin\java -Xmx1024M -jar C:\android\sdk\build-tools\android-4.4W\lib\d
x.jar --dex --output=C:\Users\IBM_ADMIN\appium\submodules\selendroid\android-dri
ver\target\classes.dex C:\Users\IBM_ADMIN\appium\submodules\selendroid\android-d
river\target\classes”
[DEBUG] Error occurred during initialization of VM
[DEBUG] Could not reserve enough space for object heap
[INFO] Error: Could not create the Java Virtual Machine.
[INFO] Error: A fatal exception has occurred. Program will exit.
[DEBUG] ANDROID-040-000: Executed command: Commandline = cmd.exe /X /C “c:\java
jdk71\jre\bin\java -Xmx1024M -jar C:\android\sdk\build-tools\android-4.4W\lib\dx
.jar --dex --output=C:\Users\IBM_ADMIN\appium\submodules\selendroid\android-driv
er\target\classes.dex C:\Users\IBM_ADMIN\appium\submodules\selendroid\android-dr
iver\target\classes”, Result = 1
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] selendroid … SUCCESS [ 0.097 s]
[INFO] android-driver-app … FAILURE [ 4.900 s]
[INFO] selendroid-server-common … SKIPPED
[INFO] selendroid-server … SKIPPED
[INFO] selendroid-grid-plugin … SKIPPED
[INFO] selendroid-common … SKIPPED
[INFO] selendroid-standalone … SKIPPED
[INFO] selendroid-client … SKIPPED
[INFO] selendroid-test-app … SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------

I used the force option and it looks to be built. How can I now generate a new client that contains this updated selendroid? Or is it already created? If so, where is it?

  1. Get last source code from GitHub
  2. Run reset.sh from it
  3. Open Appium client
  4. Open ‘Developer settings’
  5. Check ‘Use External Appium Package’ and paste appium path there

Thank you for the reply. But I’m part of a larger team that are not appium developers. We are users. However we need to include the latest selendroid driver because of a change in cordova.

That being said, I don’t want to point to my development environment. I need to create the appium.exe, or the selendroid portion of it so that I can roll that into the client. And then my team would use the newly constructed client.

OK, it looks like the --force did NOT finish the build. But now when I try to do the build I keep getting the following error running “reset --selendroid”:


[DEBUG] adding entry com/google/common/collect/MapMakerInternalMap$StrongExpirab
leEntry.class
[DEBUG] adding entry com/google/common/collect/MapMakerInternalMap$StrongExpirab
leEvictableEntry.class

Warning: stdout maxBuffer exceeded. Use --force to continue.

Aborted due to warnings.

C:\Users\IBM_ADMIN\appium>IF 3 NEQ 0 IF 0 == 0 (
CD /D C:\Users\IBM_ADMIN\appium
ECHO.
ECHO Stopping because there was an error and --force was not used
CALL :halt 1
)

Stopping because there was an error and --force was not used

C:\Users\IBM_ADMIN\appium>CALL :__SetErrorLevel 1