Failed to build 5.2.2/android missing org.apache.http

// Expert user has replied.
J Jon Tara 2 years 11 months ago
0 6 0

Looks like a missing dependency?

Not sure why this would build for anybody else.

My Android SDK is up-to-date. (Maybe that's a problem!)

I tried with NDK n9d based on other posts on the thread.

PWD: /Users/jon/.rvm/gems/ruby-2.2.3@watusi-rhodes-5.2.2-75fd4c2/gems/rhodes-5.2.2
CMD: /Library/Java/Home/bin/javac -g -d /Users/jon/workspace/xxxxx/mobile_app/build/android/jxxxxx/development/bin/tmp/Rhodes -source 1.6 -target 1.6 -nowarn -encoding latin1 -classpath /Users/jon/sdk/android/sdk/platforms/android-23/android.jar:/Users/jon/workspace/xxxxx/mobile_app/build/android//xxxxx/development/bin/tmp/Rhodes:/Users/jon/sdk/android/sdk/extras/android/support/v4/android-support-v4.jar @/Users/jon/workspace/xxxxx/mobile_app/build/android/xxxxx/development/bin/tmp/RhodesSRC_build.files
platform/android/Rhodes/src/com/rhomobile/rhodes/event/Event.java:34: package org.apache.http.impl.cookie does not exist
import org.apache.http.impl.cookie.DateUtils;
                                  ^
platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/Request.java:35: package org.apache.http does not exist
import org.apache.http.HttpResponse;
                      ^
platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/Request.java:36: package org.apache.http.client does not exist
import org.apache.http.client.HttpClient;
                             ^
platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/Request.java:37: package org.apache.http.client.methods does not exist
import org.apache.http.client.methods.HttpGet;
                                     ^
platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/Request.java:38: package org.apache.http.impl.client does not exist
import org.apache.http.impl.client.DefaultHttpClient;
                                  ^
platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/Request.java:192: cannot find symbol
symbol  : class HttpGet
location: class com.rhomobile.rhodes.mapview.Request
  private HttpGet mRequest;
         ^
platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/MapBitmapManager.java:35: package org.apache.http does not exist
import org.apache.http.HttpResponse;
                      ^
platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/MapBitmapManager.java:36: package org.apache.http.client does not exist
import org.apache.http.client.HttpClient;
                             ^
platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/MapBitmapManager.java:37: package org.apache.http.client.methods does not exist
import org.apache.http.client.methods.HttpGet;
                                     ^
platform/android/Rhodes/src/com/rhomobile/rhodes/mapview/MapBitmapManager.java:38: package org.apache.http.impl.client does not exist
import org.apache.http.impl.client.DefaultHttpClient;

Please register or login to post a reply

6 Replies

R Robert Galvin

Jon

The maxSDK, minSDK, etc is only a runtime configuration in the Android manifest. It is not used during build. Rhodes will use whatever the latest API level is available to build the Android application. Currently there is no way to control the specific API that is used for building. The only workaround right now is to remove the Marhmallow API 23 and rebuild.
In platform-23, android has removed apache support which RhoMobile uses in Mapview. Please find the link below.https://developer.android.com/intl/es/preview/behavior-changes.html (Removing the Apache HTTP client)

M Mark Nongkhlaw

Sounds like you're facing same problem like Poonam Sharma. Pls check out Rhomobile Google group (yeah, people are still using it!)

J Jon Tara

I'm thinking now the issue is a missing prerequisite in API 23. I figured I should update my Android SDK when I updated Rhodes, maybe that was a bad idea. Maybe they "crossed in the mail". (Rhodes 5.2.2 released, and then API 23 caught Rhodes unawares).

You'd think Rhodes would be able to indicate the highest API supported?

It's just a guess, though, because Android development is admittedly a bit of a mystery to me.

J Jon Tara

Tried with Java7 SDK (now required by Android tools?) and with NDK 10e. Neither one made a difference.

This is apparently required by MapView? I don't use a MapView...

J Jon Tara

I manually added the .jars from:

    https://hc.apache.org/downloads.cgi

to my Java7 SDK and is seems to have solved it.

FYI, I was able to build with NDK r10e. Previous Rhodes versions were unable to build with > r9D, but unsure if there are still other issues if we use r10e.

If there are additional components we need to install in the Java SDK, they should be documented. Maybe the RhoStudio installer installs them - I only use the Rhodes Gem.

J Jon Tara

If you build with NDK N10e, the app immediately exits on ARM hardware.

It seems to run on X86 hardware.

So, I still build with N9D.

CONTACT
Can’t find what you’re looking for?