添加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或番石榴)工作正常。 我怎么解决这个问题?

  • Android Studio - 导入Simple-Xml库
  • 安装有依赖项的jar到maven仓库(Android gcm-server push library)
  • 获取java.lang.RuntimeException:通过Maven运行Robolectric时的Stub
  • 肥皂使能器,maven Build Failure
  • 如何debugging使用maven构build的android应用程序
  • 如何更改我的AndroidManifest,因为它正在被maven打包
  • Android工作室 - Gradle - GitHub回购
  • 如何释放与另一个Android库项目依赖关系的AAR?
  • 我花了一些时间弄清楚,但是终于搞定了。 我一直在研究一个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') } 

    这对我来说工作得很好。