Posts

Showing posts with the label configuration

How to fix httpcomponents library in Android Studio

I had a project in eclipse which uses httpcomponents . The jars used in eclipse did not work in Android studio and I am using compileSdkVersion 23 with buildToolsVersion '23.0.2'. I have tried out several solutions and wasted 3 hours figuring out how import the httpcomponents libraries. To avoid wasting your time, here is how I fixed the issue: Changes in Module specific build.gradle i.e. /app/build.gradle Add following under android {...} useLibrary 'org.apache.http.legacy' packagingOptions { exclude 'META-INF/DEPENDENCIES' exclude 'META-INF/NOTICE' exclude 'META-INF/LICENSE' exclude 'META-INF/LICENSE.txt' exclude 'META-INF/NOTICE.txt' } Add following under dependencies {..} compile ('org.apache.httpcomponents:httpmime:4.3'){ exclude group: 'org.apache.httpcomponents', module: 'httpclient' } compile ('org.apache.httpcomponents:httpcore:4.4.1'){ exclude group: 'org.apache.htt...

Configuring Gradle

Image
Android studio uses new build system called Gradle. We can use it to build project and configure server urls, settings or replace assets. 1. Following example shows build.gradle file to change server url depending upon the build flavor. I am using two flavors 1. devel 2. prod. For simplicity I shall keep it simple without configuring it for signing. Both flavors define a config variable "HOST" with different value to be used, when apk is built. If developer chooses, to have "devel" build, it will come with "http://192.168.1.34:3000" as HOST. productFlavors { devel { buildConfigField 'String', 'HOST', '"http://192.168.1.34:3000"' } prod { buildConfigField 'String', 'HOST', '"http://api.zuul.com"' } } To access the config constant use following code. String string = BuildConfig.HOST; 2. Following example shows how t...