Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Adding kSOAP dependency to Gradle project

I'm trying to make kSOAP working in my Android project with Gradle.

This is my project's build.gradle file:

buildscript {     repositories {         mavenCentral()     }     dependencies {         classpath 'com.android.tools.build:gradle:0.5.+'     } } apply plugin: 'android'  repositories {     mavenCentral()      maven {         url 'http://ksoap2-android.googlecode.com/svn/m2-repo'     } }  android {     compileSdkVersion 18     buildToolsVersion "18.0.1"      defaultConfig {         minSdkVersion 7         targetSdkVersion 18     } }  dependencies {     compile 'com.android.support:support-v4:18.0.0'     compile 'ch.acra:acra:4.5.0'     compile 'com.google.guava:guava:12.0'     compile 'com.google.code.ksoap2-android:ksoap2-android:3.0.0' } 

The library seems to be included in the project and compilation DOES work but when I try to import a class (ie SoapObject) it seems like the namespace does not even exist. The funny thing is that the other libraries (such as ACRA or Guava) are working fine. How can I solve this problem?

like image 334
Axel GeNuS Avatar asked Sep 12 '13 21:09

Axel GeNuS


2 Answers

I am using @amitav13's solution but the URL of the repository has changed:

repositories {         maven { url 'https://oss.sonatype.org/content/repositories/ksoap2-android-releases' }     } 

Current version as of now is 3.6.0

compile 'com.google.code.ksoap2-android:ksoap2-android:3.6.0' 

This did work for me.

like image 88
Jens Avatar answered Oct 02 '22 22:10

Jens


This took me a bit to figure out as well, but I have finally gotten it working. I've been working on a WSDL parser that parses for KSoap and finally got that working only to fight through Gradle with the import of ksoap. At anyrate here is how you do it.

apply plugin: 'android-library'  buildscript {     repositories {         mavenCentral()         maven { url 'https://oss.sonatype.org/content/repositories/ksoap2-android-releases/' }     }     dependencies {         classpath 'com.android.tools.build:gradle:0.8.+'         classpath 'com.google.code.ksoap2-android:ksoap2-android:3.1.1'     } }  repositories {     maven { url 'https://oss.sonatype.org/content/repositories/ksoap2-android-releases/' } }   android {     compileSdkVersion 19     buildToolsVersion "19.0.1"      defaultConfig {         minSdkVersion 15         targetSdkVersion 19         versionCode 1         versionName "1.0"     }     release {         runProguard false         proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'     } }  dependencies {      compile 'com.google.code.ksoap2-android:ksoap2-android:3.1.1'  } 

Of course mine is a service library, so you may want to use apply plugin: 'android'. Hopefully this helps and saves somebody some time.

like image 45
Sam Avatar answered Oct 02 '22 21:10

Sam