gradle を使用してjson-schema-validatorを Android テスト プロジェクトに追加しようとしていますが、いくつかの問題が発生します。
- でファイルが重複し
json-schema-validator
てjson-schema-core
いて、テスト プロジェクトをビルドできなかったので、それらを除外しましたpackagingOptions
テストの実行中にファイルが見つかりません: Android テストの実行中に、例外が発生しました
JsonSchemaFactory factory = JsonSchemaFactory.byDefault();
私の推測では、JsonLoader はテスト プロジェクトで /draftv4/schema を見つけることができませんでした
誰もがそれをAndroidテストに正常に追加したか、JsonLoaderが正しいファイルを取得するのにどのように役立つか. ありがとう
ビルド スクリプトと例外スタック トレースは次のとおりです。
buildscript {
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.12.+'
}
}
allprojects {
repositories {
mavenCentral()
}
}
apply plugin: 'android'
android {
packagingOptions {
exclude 'LICENSE.txt'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE'
exclude 'APK META-INF/ASL-2.0.txt'
exclude 'META-INF/ASL-2.0.txt'
exclude 'META-INF/LGPL-3.0.txt'
exclude 'ASL-2.0.txt'
exclude 'LGPL-3.0.txt'
exclude 'LICENSE'
exclude 'META-INF/NOTICE.txt'
exclude 'draftv3/schema'
exclude 'draftv4/schema'
}
compileSdkVersion 19
buildToolsVersion "19.1.0"
defaultConfig {
minSdkVersion 10
targetSdkVersion 18
renderscriptTargetApi 19
renderscriptSupportMode true
testApplicationId "com.sample.test"
testInstrumentationRunner "android.test.InstrumentationTestRunner"
}
buildTypes {
debug {
debuggable true
zipAlign false
}
}
sourceSets {
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
}
}
dependencies {
repositories {
mavenCentral()
maven {
url 'https://oss.sonatype.org/content/repositories/snapshots/'
}
}
// Other dependencies
androidTestCompile 'junit:junit:3.8'
androidTestCompile ("com.github.fge:json-schema-core:1.2.3");
androidTestCompile ('com.github.fge:json-schema-validator:2.1.8')
androidTestCompile 'org.mockito:mockito-all:1.9.5'
}
apply plugin: 'idea'
idea {
module {
testOutputDir = file('build/test-classes/debug')
}
}
java.lang.ExceptionInInitializerError
at com.github.fge.jsonschema.SchemaVersion.<init>(SchemaVersion.java:65)
at com.github.fge.jsonschema.SchemaVersion.<clinit>(SchemaVersion.java:44)
at com.github.fge.jsonschema.core.load.configuration.LoadingConfigurationBuilder.<init>(LoadingConfigurationBuilder.java:117)
at com.github.fge.jsonschema.core.load.configuration.LoadingConfiguration.byDefault(LoadingConfiguration.java:151)
at com.github.fge.jsonschema.main.JsonSchemaFactoryBuilder.<init>(JsonSchemaFactoryBuilder.java:66)
at com.github.fge.jsonschema.main.JsonSchemaFactory.newBuilder(JsonSchemaFactory.java:120)
at com.github.fge.jsonschema.main.JsonSchemaFactory.byDefault(JsonSchemaFactory.java:110)
at com.chatwing.managers.ApiManagerImplTest.assertRegisterValidationError(ApiManagerImplTest.java:115)
at com.chatwing.managers.ApiManagerImplTest.testRegisterChatWingWithDuplicateEmail(ApiManagerImplTest.java:191)
at java.lang.reflect.Method.invokeNative(Native Method)
at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:214)
at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:199)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:191)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:176)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:554)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1701)
Caused by: java.io.IOException: resource /draftv4/schema not found
at com.github.fge.jackson.JsonLoader.fromResource(JsonLoader.java:91)
at com.github.fge.jsonschema.SchemaVersion.<init>(SchemaVersion.java:63)
... 21 more