添加kSOAP依赖项到Gradle项目

我正在尝试使用Gradle在我的Android项目中运行kSOAP。

这是我的项目的build.gradle文件:

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' } 

该库似乎被包含在项目和编译确实工作,但是当我尝试导入一个类(即SoapObject),似乎命名空间甚至不存在。 有趣的是,其他图书馆(如ACRA或番石榴)工作正常。 我怎么解决这个问题?

Solutions Collecting From Web of "添加kSOAP依赖项到Gradle项目"

我花了一些时间弄清楚,但是终于搞定了。 我一直在研究一个parsingKSoap的WSDLparsing器,并最终得到这个工作只是通过Gradle的importksoap。 无论如何,这里是你如何做到这一点。

 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' } 

当然,我是一个服务库,所以你可能想要使用apply插件:'android'。 希望这有助于并节省一些人的时间。

我正在使用@ amitav13的解决scheme,但存储库的URL已经改变:

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

目前的版本是3.6.0

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

这对我有用。

下面是Sambuild议的build.gradle的一个更简单的版本,它适用于我:

 apply plugin: 'com.android.application' android { compileSdkVersion 21 buildToolsVersion "20.0.0" defaultConfig { applicationId "com.example.test" minSdkVersion 15 targetSdkVersion 21 versionCode 1 versionName "1.0" } buildTypes { release { runProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } repositories { maven { url 'https://oss.sonatype.org/content/repositories/ksoap2-android-releases' } } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.google.code.ksoap2-android:ksoap2-android:3.6.2' } 

请注意,这是应用程序的build.gradle,我没有做任何修改项目build.gradle。

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

和里面的依赖

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

我处于同样的情况。 我放弃了从mavencentral那里添加那个jar子。

我添加了原始的jar作为一个lib。

  1. 从这个URL下载最新的(或者任何版本的)ksoap2-android
  2. 在build.gradle中调用它,见下面

这里是代码:

 dependencies { compile files('libs/ksoap2-android.jar') } 

我希望这会有所帮助。

更简单的解决scheme是从http://www.bvbcode.com/code/ed5zc936-1814251-down下载.jar,并将这个.jar文件添加到您的libs文件夹中。

最后在你的build.gradle:

 dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') } 

这对我来说工作得很好。