ClassNotFoundException: не удалось найти класс "clipper" на пути: DexPathList - Android Studio - PullRequest
0 голосов
/ 20 сентября 2018

Я пытался пройти через несколько разных предложений, чтобы решить мою проблему, но я еще не нашел такой, который бы работал для меня.Я получаю ClassNotFoundException для класса с именем "clipper".Я не уверен, где искать этот класс, но я знаю, что это происходит сразу после успешного вызова API, который возвращает правильно отформатированный XML-документ.В моем файле dex менее 50 000 методов, поэтому мне не нужен multidex, но я попытался реализовать его различными способами, чтобы посмотреть, решит ли это мою проблему.Я также отключил Instant Run, и я даже пытался создать новую копию моего приложения, но та же ошибка продолжает появляться.Любые предложения?

stacktrace

E/Trip - cont'd: java.lang.ClassNotFoundException: Didn't find class "clipper" on path: DexPathList[[zip file "/data/app/com.zuk0.gaijinsmash.riderz-abL9oLgG8Fn3MvqWk6alfg==/base.apk"],nativeLibraryDirectories=[/data/app/com.zuk0.gaijinsmash.riderz-abL9oLgG8Fn3MvqWk6alfg==/lib/x86, /system/lib]]
                 java.lang.RuntimeException: java.lang.ClassNotFoundException: Didn't find class "clipper" on path: DexPathList[[zip file "/data/app/com.zuk0.gaijinsmash.riderz-abL9oLgG8Fn3MvqWk6alfg==/base.apk"],nativeLibraryDirectories=[/data/app/com.zuk0.gaijinsmash.riderz-abL9oLgG8Fn3MvqWk6alfg==/lib/x86, /system/lib]]
                     at com.zuk0.gaijinsmash.riderz.data.remote.repository.TripRepository$1.onFailure(TripRepository.java:46)
                     at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall$1$2.run(ExecutorCallAdapterFactory.java:79)
                     at android.os.Handler.handleCallback(Handler.java:873)
                     at android.os.Handler.dispatchMessage(Handler.java:99)
                     at android.os.Looper.loop(Looper.java:193)
                     at android.app.ActivityThread.main(ActivityThread.java:6669)
                     at java.lang.reflect.Method.invoke(Native Method)
                     at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
                  Caused by: java.lang.ClassNotFoundException: Didn't find class "clipper" on path: DexPathList[[zip file "/data/app/com.zuk0.gaijinsmash.riderz-abL9oLgG8Fn3MvqWk6alfg==/base.apk"],nativeLibraryDirectories=[/data/app/com.zuk0.gaijinsmash.riderz-abL9oLgG8Fn3MvqWk6alfg==/lib/x86, /system/lib]]
                     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
                     at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
                     at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
                     at org.simpleframework.xml.strategy.Loader.load(Loader.java:50)
                     at org.simpleframework.xml.strategy.TreeStrategy.readValue(TreeStrategy.java:163)
                     at org.simpleframework.xml.strategy.TreeStrategy.read(TreeStrategy.java:102)
                     at org.simpleframework.xml.convert.AnnotationStrategy.read(AnnotationStrategy.java:100)
                     at org.simpleframework.xml.core.Source.getOverride(Source.java:360)
                     at org.simpleframework.xml.core.Factory.getConversion(Factory.java:207)
                     at org.simpleframework.xml.core.Factory.getOverride(Factory.java:139)
                     at org.simpleframework.xml.core.ObjectFactory.getInstance(ObjectFactory.java:63)
                     at org.simpleframework.xml.core.Composite.read(Composite.java:139)
                     at org.simpleframework.xml.core.Traverser.read(Traverser.java:92)
                     at org.simpleframework.xml.core.CompositeList.populate(CompositeList.java:175)
                     at org.simpleframework.xml.core.CompositeList.read(CompositeList.java:120)
                     at org.simpleframework.xml.core.Composite.readVariable(Composite.java:623)
                     at org.simpleframework.xml.core.Composite.readInstance(Composite.java:573)
                     at org.simpleframework.xml.core.Composite.readUnion(Composite.java:549)
                     at org.simpleframework.xml.core.Composite.readElement(Composite.java:532)
                     at org.simpleframework.xml.core.Composite.readElements(Composite.java:445)
                     at org.simpleframework.xml.core.Composite.access$400(Composite.java:59)
                     at org.simpleframework.xml.core.Composite$Builder.read(Composite.java:1383)
                     at org.simpleframework.xml.core.Composite.read(Composite.java:201)
                     at org.simpleframework.xml.core.Composite.read(Composite.java:148)
                     at org.simpleframework.xml.core.Traverser.read(Traverser.java:92)
                     at org.simpleframework.xml.core.CompositeInlineList.read(CompositeInlineList.java:190)
                     at org.simpleframework.xml.core.CompositeInlineList.read(CompositeInlineList.java:167)
                     at org.simpleframework.xml.core.CompositeInlineList.read(CompositeInlineList.java:124)
                     at org.simpleframework.xml.core.Composite.readVariable(Composite.java:623)
                     at org.simpleframework.xml.core.Composite.readInstance(Composite.java:573)
                     at org.simpleframework.xml.core.Composite.readUnion(Composite.java:549)
                     at org.simpleframework.xml.core.Composite.readElement(Composite.java:532)
                     at org.simpleframework.xml.core.Composite.readElements(Composite.java:445)
E/Trip - cont'd:     at org.simpleframework.xml.core.Composite.access$400(Composite.java:59)
                     at org.simpleframework.xml.core.Composite$Builder.read(Composite.java:1383)
                     at org.simpleframework.xml.core.Composite.read(Composite.java:201)
                     at org.simpleframework.xml.core.Composite.read(Composite.java:148)
                     at org.simpleframework.xml.core.Composite.readVariable(Composite.java:623)
                     at org.simpleframework.xml.core.Composite.readInstance(Composite.java:573)
                     at org.simpleframework.xml.core.Composite.readUnion(Composite.java:549)
                     at org.simpleframework.xml.core.Composite.readElement(Composite.java:532)
                     at org.simpleframework.xml.core.Composite.readElements(Composite.java:445)
                     at org.simpleframework.xml.core.Composite.access$400(Composite.java:59)
                     at org.simpleframework.xml.core.Composite$Builder.read(Composite.java:1383)
                     at org.simpleframework.xml.core.Composite.read(Composite.java:201)
                     at org.simpleframework.xml.core.Composite.read(Composite.java:148)
                     at org.simpleframework.xml.core.Composite.readVariable(Composite.java:623)
                     at org.simpleframework.xml.core.Composite.readInstance(Composite.java:573)
                     at org.simpleframework.xml.core.Composite.readUnion(Composite.java:549)
                     at org.simpleframework.xml.core.Composite.readElement(Composite.java:532)
                     at org.simpleframework.xml.core.Composite.readElements(Composite.java:445)
                     at org.simpleframework.xml.core.Composite.access$400(Composite.java:59)
                     at org.simpleframework.xml.core.Composite$Builder.read(Composite.java:1383)
                     at org.simpleframework.xml.core.Composite.read(Composite.java:201)
                     at org.simpleframework.xml.core.Composite.read(Composite.java:148)
                     at org.simpleframework.xml.core.Traverser.read(Traverser.java:92)
                     at org.simpleframework.xml.core.Persister.read(Persister.java:625)
                     at org.simpleframework.xml.core.Persister.read(Persister.java:606)
                     at org.simpleframework.xml.core.Persister.read(Persister.java:584)
                     at org.simpleframework.xml.core.Persister.read(Persister.java:562)
                     at retrofit2.converter.simplexml.SimpleXmlResponseBodyConverter.convert(SimpleXmlResponseBodyConverter.java:36)
                     at retrofit2.converter.simplexml.SimpleXmlResponseBodyConverter.convert(SimpleXmlResponseBodyConverter.java:23)
                     at retrofit2.ServiceMethod.toResponse(ServiceMethod.java:122)
                     at retrofit2.OkHttpCall.parseResponse(OkHttpCall.java:217)
                     at retrofit2.OkHttpCall$1.onResponse(OkHttpCall.java:116)
                     at okhttp3.RealCall$AsyncCall.execute(RealCall.java:153)
                     at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
                     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
                     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
                     at java.lang.Thread.run(Thread.java:764)

манифест

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.zuk0.gaijinsmash.riderz">

<!-- PERMISSIONS -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<!-- Required OpenGL ES 2.0. for Maps V2 -->
<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true" />

<application
    android:name="com.zuk0.gaijinsmash.riderz.RiderzApplication"
    android:usesCleartextTraffic="true"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">

    <!-- Splash -->
    <activity
        android:name="com.zuk0.gaijinsmash.riderz.ui.activity.splash.SplashActivity"
        android:label="@string/app_name"
        android:theme="@style/SplashTheme">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <!-- Main -->
    <activity
        android:name="com.zuk0.gaijinsmash.riderz.ui.activity.main.MainActivity"
        android:label="@string/title_activity_main"
        android:theme="@style/CustomMainTheme">
    </activity>

</application>

build.gradle

apply plugin: 'com.android.application'

apply plugin: 'kotlin-android'

apply plugin: 'kotlin-android-extensions'

apply plugin: 'kotlin-kapt'


android {
compileSdkVersion 28 // this should always be the most recent version
buildToolsVersion '28.0.2'
defaultConfig {
    applicationId 'com.zuk0.gaijinsmash.riderz'
    minSdkVersion 21
    targetSdkVersion 28 // this should match compileSdkVersion
    versionCode 3
    versionName "1.2-beta"
    multiDexEnabled false
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
    debug {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        buildConfigField 'String', "BartApiKey", RIDERZ_BART_API_KEY
    }
    release {
        minifyEnabled true
        multiDexKeepFile file('multidex-config.txt')
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        buildConfigField 'String', "BartApiKey", RIDERZ_BART_API_KEY
    }
}
dexOptions {
    preDexLibraries = false
}
compileOptions {
    targetCompatibility JavaVersion.VERSION_1_8
    sourceCompatibility JavaVersion.VERSION_1_8
}
productFlavors {
}
}

dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

//implementation 'com.android.support:multidex:1.0.3'

// UI
def support_version = "28.0.0-rc02"
implementation "com.android.support:cardview-v7:$support_version"
implementation "com.android.support:appcompat-v7:$support_version"
implementation "com.android.support:design:$support_version"
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation "com.android.support:support-compat:$support_version"
implementation "com.android.support:preference-v7:$support_version"
implementation "com.android.support:preference-v14:$support_version"
implementation "com.android.support:support-v4:$support_version" // necessary?
implementation 'com.github.bumptech.glide:glide:4.7.1'
kapt 'com.github.bumptech.glide:compiler:4.7.1'

// Butterknife
implementation 'com.jakewharton:butterknife:8.8.1'
kapt 'com.jakewharton:butterknife-compiler:8.8.1'

// Dagger 2
def dagger_version = "2.16"
implementation "com.google.dagger:dagger:$dagger_version"
implementation "com.google.dagger:dagger-android:$dagger_version"
implementation "com.google.dagger:dagger-android-support:$dagger_version"
kapt "com.google.dagger:dagger-android-processor:$dagger_version"
kapt "com.google.dagger:dagger-compiler:$dagger_version"

// Retrofit2
implementation 'com.squareup.retrofit2:retrofit:2.4.0'
implementation 'com.squareup.retrofit2:converter-gson:2.1.0'
implementation 'com.squareup.retrofit2:converter-simplexml:2.3.0'
implementation 'com.squareup.okhttp3:okhttp:3.10.0'
implementation 'com.squareup.okhttp3:logging-interceptor:3.10.0'
implementation 'com.google.code.gson:gson:2.8.2'

// ahb bottom navbar
implementation 'com.aurelhubert:ahbottomnavigation:2.1.0'

//Google Play Services
implementation 'com.google.android.gms:play-services-maps:15.0.1'
implementation 'com.google.android.gms:play-services-location:15.0.1'

// Android Lifecycle
def lifecycle_version = "1.1.1"
implementation "android.arch.lifecycle:extensions:$lifecycle_version"
kapt "android.arch.lifecycle:compiler:$lifecycle_version"
implementation "android.arch.lifecycle:common-java8:$lifecycle_version"
testImplementation "android.arch.core:core-testing:$lifecycle_version"

// Room Database
def room_version = "1.1.1"
implementation "android.arch.persistence.room:runtime:$room_version"
kapt "android.arch.persistence.room:compiler:$room_version"
testImplementation "android.arch.persistence.room:testing:$room_version"

// Test framework
testImplementation 'junit:junit:4.12'
// Optional -- Mockito framework
//testImplementation 'org.mockito:mockito-core:2.7.6'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-contrib:3.0.2'
}

1 Ответ

0 голосов
/ 20 сентября 2018

Решено: Я наконец нашел свою проблему.Это определенно была проблема с Retrofit2 - Мое решение состояло в том, чтобы создать класс Converter.Factory, который бы выбирал ответы Xml или Json, а затем возвращал соответствующий конвертер.Как только я сделал это, сообщение об ошибке исчезло, и я получаю соответствующее поведение.

...