2017-05-10 50 views
3

:)后的ClassNotFoundException(AppCompatActivity.class)从Windows迁移的Android Studio项目到Mac

我目前在Android应用工作使用Android Studio和我已经在它的工作后,我的Windows机器上相当长的一段,我目前正试图让它在我的MacBook Air上运行。

我复制了项目文件并在Mac上创建了一个模拟器(API 25)。该项目编译得很好,但它会立即在仿真器崩溃因以下错误:

FATAL EXCEPTION: main 
                     Process: com.lennartschoch.partytime, PID: 5736 
                     java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.lennartschoch.partytime/com.lennartschoch.partytime.LoadingActivity}: java.lang.ClassNotFoundException: Didn't find class "com.lennartschoch.partytime.LoadingActivity" on path: DexPathList[[zip file "/data/app/com.lennartschoch.partytime-2/base.apk", zip file "/data/app/com.lennartschoch.partytime-2/split_lib_slice_3_apk.apk"],nativeLibraryDirectories=[/data/app/com.lennartschoch.partytime-2/lib/x86, /system/lib, /vendor/lib]] 
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2567) 
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726) 
                      at android.app.ActivityThread.-wrap12(ActivityThread.java) 
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477) 
                      at android.os.Handler.dispatchMessage(Handler.java:102) 
                      at android.os.Looper.loop(Looper.java:154) 
                      at android.app.ActivityThread.main(ActivityThread.java:6119) 
                      at java.lang.reflect.Method.invoke(Native Method) 
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) 
                     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.lennartschoch.partytime.LoadingActivity" on path: DexPathList[[zip file "/data/app/com.lennartschoch.partytime-2/base.apk", zip file "/data/app/com.lennartschoch.partytime-2/split_lib_slice_3_apk.apk"],nativeLibraryDirectories=[/data/app/com.lennartschoch.partytime-2/lib/x86, /system/lib, /vendor/lib]] 
                      at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 
                      at java.lang.ClassLoader.loadClass(ClassLoader.java:380) 
                      at java.lang.ClassLoader.loadClass(ClassLoader.java:312) 
                      at android.app.Instrumentation.newActivity(Instrumentation.java:1078) 
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2557) 
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)  
                      at android.app.ActivityThread.-wrap12(ActivityThread.java)  
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)  
                      at android.os.Handler.dispatchMessage(Handler.java:102)  
                      at android.os.Looper.loop(Looper.java:154)  
                      at android.app.ActivityThread.main(ActivityThread.java:6119)  
                      at java.lang.reflect.Method.invoke(Native Method)  
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)  
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)  
                     Suppressed: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v7/app/AppCompatActivity; 
                      at java.lang.VMClassLoader.findLoadedClass(Native Method) 
                      at java.lang.ClassLoader.findLoadedClass(ClassLoader.java:742) 
                      at java.lang.ClassLoader.loadClass(ClassLoader.java:362) 
                       ... 12 more 
                     Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v7.app.AppCompatActivity" on path: DexPathList[[zip file "/data/app/com.lennartschoch.partytime-2/base.apk", zip file "/data/app/com.lennartschoch.partytime-2/split_lib_slice_3_apk.apk"],nativeLibraryDirectories=[/data/app/com.lennartschoch.partytime-2/lib/x86, /system/lib, /vendor/lib]] 
                      at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 
                      at java.lang.ClassLoader.loadClass(ClassLoader.java:380) 
                      at java.lang.ClassLoader.loadClass(ClassLoader.java:312) 
                       ... 15 more 

我已(希望)currectly实现了Android支持库(第7版),你可以在我的build.gradle看到:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 25 
    buildToolsVersion "25.0.3" 
    defaultConfig { 
     applicationId "com.lennartschoch.partytime" 
     minSdkVersion 19 
     targetSdkVersion 25 
     versionCode 1 
     versionName "1.0" 
     testInstrumentationRunner   "android.support.test.runner.AndroidJUnitRunner" 
    } 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
     exclude group: 'com.android.support', module: 'support-annotations' 
    }) 
    compile 'com.android.support:design:25.3.1' 
    compile 'com.android.support.constraint:constraint-layout:1.0.2' 
    compile 'com.android.support:support-v4:25.3.1' 
    compile 'com.android.support:recyclerview-v7:25.3.1' 
    compile 'com.android.support:cardview-v7:25.3.1' 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:25.3.1' 
} 

我已经尝试清洁和重建项目,但我不能摆脱这个问题。有什么建议么?

谢谢!

+0

http://stackoverflow.com/questions/22399572/java-lang-classnotfoundexception-didnt-find-class-on-path-dexpathlist – Pavya

+0

你不需要v7。设计库已包含它 –

回答

1
dependencies { 

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

     compile 'com.android.support:appcompat-v7:25.0.1' 
     compile 'com.android.support:recyclerview-v7:25.0.1' 
     compile 'com.android.support:cardview-v7:25.0.1' 
     compile 'com.android.support:design:25.0.1' 

     } 

使用这些依赖关系。

+0

保持版本相同 –

+0

@ cricket_007像一个迷人的工作!非常感谢:)你知道为什么版本25.3.1似乎只在Mac上导致这些问题,但不在Windows上? –

+0

@Lenn不知道..我总是使用我的Mac上的最新版本 –

0

将Android项目移动到旧目录的子目录后,我遇到了同样的问题。首先,当我试图在同一台设备的前面上运行的项目中,我得到了以下错误:

DELETE_FAILED_INTERNAL_ERROR 
Error while Installing APKs 

我被做Build -> Clean Project摆脱这一点,但后来我得到这些ClassNotFound例外和应用程序立即被崩溃。这是通过在项目根目录的终端中运行gradlew clean并重新构建来解决的。

相关问题