android - 应用程序未使用 apk 安装,但通过 android studio 安装

标签 android macos android-studio

我在 android studio 2.3.1 和 gradle 3.2 中设计了 2 到 3 个应用程序。当我从它运行应用程序到任何设备或模拟器时,一切都工作正常。但是当我从构建文件夹中获取该 apk 并手动安装到设备或模拟器时。它每次都崩溃并给我错误类notfound。这是 MainActivity。

我正在使用 Mac。我尝试了很多方法。即使我建立了新项目,但仍然有同样的错误。下面是它的日志。

java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.call.unblock/com.call.unblock.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "com.call.unblock.MainActivity" on path: DexPathList[[zip file "/data/app/com.call.unblock-2/base.apk"],nativeLibraryDirectories=[/vendor/lib64, /system/lib64]]
                                                     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2236)
                                                     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
                                                     at android.app.ActivityThread.access$800(ActivityThread.java:151)
                                                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
                                                     at android.os.Handler.dispatchMessage(Handler.java:102)
                                                     at android.os.Looper.loop(Looper.java:135)
                                                     at android.app.ActivityThread.main(ActivityThread.java:5254)
                                                     at java.lang.reflect.Method.invoke(Native Method)
                                                     at java.lang.reflect.Method.invoke(Method.java:372)
                                                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
                                                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
                                                  Caused by: java.lang.ClassNotFoundException: Didn't find class "com.call.unblock.MainActivity" on path: DexPathList[[zip file "/data/app/com.call.unblock-2/base.apk"],nativeLibraryDirectories=[/vendor/lib64, /system/lib64]]
                                                     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
                                                     at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
                                                     at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
                                                     at android.app.Instrumentation.newActivity(Instrumentation.java:1066)
                                                     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2226)
                                                     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 
                                                     at android.app.ActivityThread.access$800(ActivityThread.java:151) 
                                                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 
                                                     at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                     at android.os.Looper.loop(Looper.java:135) 
                                                     at android.app.ActivityThread.main(ActivityThread.java:5254) 
                                                     at java.lang.reflect.Method.invoke(Native Method) 
                                                     at java.lang.reflect.Method.invoke(Method.java:372) 
                                                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
                                                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 
                                                    Suppressed: java.lang.ClassNotFoundException: com.call.unblock.MainActivity
                                                     at java.lang.Class.classForName(Native Method)
                                                     at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
                                                     at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
                                                     at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
                                                            ... 13 more
                                                  Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available

帮帮我吧。如果不解决这个问题,我就无法进一步处理我的应用程序。

最佳答案

这是一个发布构建类型/你在使用 proguard 吗?如果是这种情况,请尝试在 proguard-project.txt 文件中使用“保留”选项...如果这是调试构建类型 - 尝试对您的 apk 进行反编译(例如使用“apktool”)并检查是否指定的类在您的“classes.jar”文件中

关于android - 应用程序未使用 apk 安装,但通过 android studio 安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44075326/

相关文章:

android - 读取通过 slf4android 记录的文件?

c - 是否可以将 C 文件编译为 .app 而不是 .exe 文件?

android - 如何检测使用STREAM_VOICE_CALL或Android中的音频扬声器?

android - 为什么应用程序一直在等待调试器?

java - 了解导致信号 11 (SIGSEGV)、代码 1 (SEGV_MAPERR) 几秒钟后出现错误的 Android 问题

java - 在 Android AIR 应用程序中设置 BroadcastReceiver

android - 无法链接 "Google Cloud Project"以在 Google Play 商店中访问 API

macos - 在Unity(C#)+ Visual Studio Code中进行调试在OS X上可以工作吗?

ios - Xcode 模拟器无法工作错误 - 无法加载插入的库 '/usr/lib/libignitor2.dylib',因为找不到合适的图像

java - 文件实用程序 : readLines and writeLines methods not found