ksoap2-android,添加kSOAP依赖项到Gradle项目

这篇博客介绍了如何在Android项目中使用Gradle正确配置和引用kSOAP库。作者遇到了导入kSOAP类时命名空间不存在的问题,通过更新Gradle插件、更改仓库URL和指定正确的kSOAP版本,最终成功解决了问题。文中提供了不同版本的build.gradle配置示例,包括适用于应用和库项目的配置,并强调了添加本地JAR文件作为依赖的替代方案。
摘要由CSDN通过智能技术生成

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

我花了一些时间弄清楚,但是终于搞定了。 我一直在研究一个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。

从这个URL下载最新的(或者任何版本的)ksoap2-android

在build.gradle中调用它,见下面

这里是代码:

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

我希望这会有所帮助。

最后在你的build.gradle:

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

这对我来说工作得很好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值