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やGuavaなど)が正常に機能していることです。この問題を解決するにはどうすればよいですか?
これも理解するのに少しかかりましたが、ようやく機能するようになりました。私はKSoapを解析するWSDLパーサーに取り組んでおり、最終的にはksoapのインポートでGradleを介して戦うためだけに機能するようになりました。とにかく、それがあなたのやり方です。
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のソリューションを使用していますが、リポジトリの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'
これでうまくいきました。
Samが提案した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'
私も同じ状況でした。そして、私はそのavenをmavencentralから追加することをあきらめました。
生のjarをlibとして追加しました。
コードは次のとおりです。
dependencies {
compile files('libs/ksoap2-Android.jar')
}
私はそれが役立つことを願っています。
より簡単な解決策は、 http://www.bvbcode.com/code/ed5zc936-1814251-down から.jarをダウンロードし、この.jarファイルをlibsフォルダーに追加するだけです。
最後にbuild.gradleで:
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
}
これはうまくいきました。
これらの答えはかなり古いものであり、どれも私にとってはうまくいきませんでした。 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
}
アプリのグラドル:
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'
}