Добавление зависимости kSOAP к проекту Gradle
Я пытаюсь сделать kSOAP в моем проекте Android с помощью Gradle.
Это файл моего проекта 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'
}
Библиотека, похоже, включена в проект, и компиляция DOES работает, но когда я пытаюсь импортировать класс (т.е. SoapObject), похоже, что пространство имен даже не существует. Самое забавное, что другие библиотеки (такие как ACRA или Guava) работают нормально. Как я могу решить эту проблему?
Ответы
Ответ 1
Мне тоже пришлось немного разобраться, но я, наконец, начал работать. Я работал над парсером WSDL, который анализирует KSoap и, наконец, получил работу только для борьбы через Gradle с импортом ksoap. В любом случае, вот как вы это делаете.
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'.
Надеюсь, это поможет и сэкономит время.
Ответ 2
Я использую решение @amitav13, но 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'
Это работало для меня.
Ответ 3
Здесь более минимальная версия 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.
Ответ 4
repositories {
maven { url 'https://oss.sonatype.org/content/repositories/ksoap2-android-releases/' }
}
и внутри зависимостей
compile 'com.google.code.ksoap2-android:ksoap2-android:3.6.1'
Ответ 5
Я был в той же ситуации. И я сдался, чтобы добавить эту банку из mavencentral.
Я добавил необработанную банку как lib.
- Загрузите последнюю версию (или любую другую версию) ksoap2-android из
этот URL
- Вызовите его в файле build.gradle, см. ниже
Вот код:
dependencies {
compile files('libs/ksoap2-android.jar')
}
Надеюсь, это поможет.
Ответ 6
Более простое решение - просто загрузить .jar из http://www.bvbcode.com/code/ed5zc936-1814251-down и добавить этот .jar файл в вашу папку libs.
Наконец, в вашем build.gradle:
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
}
Это сработало для меня.
Ответ 7
Эти ответы довольно старые, и ни один из них не помог мне. Вот мое решение с использованием Android Studio 3.1.4 и ksoap 3.6.4
Android Gradle:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.4'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
repositories {
maven { url 'https://oss.sonatype.org/content/repositories/ksoap2-android-releases/' }
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
приложение Gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.myapp.aspservicetest"
minSdkVersion 24
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
repositories {
maven { url 'https://oss.sonatype.org/content/repositories/ksoap2-android-releases' }
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.google.code.ksoap2-android:ksoap2-android:3.6.4'
}