【发布时间】:2016-12-29 18:42:48
【问题描述】:
我正在使用 android studio 2.3 beta 1 以及这些配置
compileSdkVersion 25
buildToolsVersion "25.0.2"
applicationId "octave.foodster"
minSdkVersion 19
targetSdkVersion 25
问题是,当我通过 android studio 运行应用程序时,一切正常,但是当我将同一应用程序的 apk 发送到另一部手机时,它崩溃了。我只是使用基本活动,所以只是 android studio 的默认模板创建您创建新项目的那一刻。我没有添加任何外部库或其他任何内容。
清单文件
<?xml version="1.0" encoding="utf-8"?>
<application
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">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
我得到的错误是
E/AndroidRuntime: FATAL EXCEPTION: main
Process: octave.foodster, PID: 8580
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{octave.foodster/octave.foodster.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "octave.foodster.MainActivity" on path: DexPathList[[zip file "/data/app/octave.foodster-1/base.apk"],nativeLibraryDirectories=[/data/app/octave.foodster-1/lib/arm64, /vendor/lib64, /system/lib64]]
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2566)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2725)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1572)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:207)
at android.app.ActivityThread.main(ActivityThread.java:5896)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679)
Caused by: java.lang.ClassNotFoundException: Didn't find class "octave.foodster.MainActivity" on path: DexPathList[[zip file "/data/app/octave.foodster-1/base.apk"],nativeLibraryDirectories=[/data/app/octave.foodster-1/lib/arm64, /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:1072)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2556)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2725)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1572)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:207)
at android.app.ActivityThread.main(ActivityThread.java:5896)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679)
Suppressed: java.lang.ClassNotFoundException: octave.foodster.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)
... 12 more
Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available
【问题讨论】:
-
我在尝试制作没有即时运行的 apk 时遇到同样的问题。(禁用即时运行选项)检查并告诉我。
-
请添加您的清单
-
如何发送 APK?你是从手机里提取的吗?不要那样做,构建一个 APK 并分享它,它将适用于所有手机。
-
@AseedUsmani 由 android studio ( app-debug.apk ) 生成的 apk 我正在发送该文件。
-
@SagarGangawane 为我工作,非常感谢,如果您写的内容与答案相同,我可以将其标记为正确答案。
标签: java android android-studio dex