Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android Studio应用程序可以在模拟器中工作,但不能在真实设备上工作_Java_Android_Android Layout_Android Studio_Android Emulator - Fatal编程技术网

Java Android Studio应用程序可以在模拟器中工作,但不能在真实设备上工作

Java Android Studio应用程序可以在模拟器中工作,但不能在真实设备上工作,java,android,android-layout,android-studio,android-emulator,Java,Android,Android Layout,Android Studio,Android Emulator,我是android编程新手,在这方面遇到了很多麻烦。我终于让我的应用程序在API 23和16的模拟器中工作了,我的目标是API 16。它在模拟器上运行没有问题,但当我尝试在手机上使用它时(Google Nexus 5 API 23) 我为所有的代码道歉,但我已经尝试修复了一段时间,但没有任何效果。当我尝试像“使用引导类加载程序找不到类;没有可用的堆栈跟踪”和“无法实例化活动组件nf…”这样运行时,我会遇到很多错误,我还收到一些警告,如“类加载程序引用的未知路径:/data/app/package

我是android编程新手,在这方面遇到了很多麻烦。我终于让我的应用程序在API 23和16的模拟器中工作了,我的目标是API 16。它在模拟器上运行没有问题,但当我尝试在手机上使用它时(Google Nexus 5 API 23)

我为所有的代码道歉,但我已经尝试修复了一段时间,但没有任何效果。当我尝试像“使用引导类加载程序找不到类;没有可用的堆栈跟踪”和“无法实例化活动组件nf…”这样运行时,我会遇到很多错误,我还收到一些警告,如“类加载程序引用的未知路径:/data/app/packagenamehere-1/lib/x8664和/data/app/packagenamehere-1/lib/arm”即使在模拟器中运行

这是我的日志cat文件:

12-16 17:26:25.167 22237-22237/com.ubiquity.sciencefacts I/art: Late-enabling -Xcheck:jni
12-16 17:26:25.197 22237-22243/com.ubiquity.sciencefacts I/art: Ignoring second debugger -- accepting and dropping
12-16 17:26:25.203 22237-22243/com.ubiquity.sciencefacts I/art: Debugger is no longer active
12-16 17:26:25.211 22237-22243/com.ubiquity.sciencefacts W/art: Suspending all threads took: 7.324ms
12-16 17:26:25.235 22237-22237/com.ubiquity.sciencefacts W/System: ClassLoader referenced unknown path: /data/app/com.ubiquity.sciencefacts-2/lib/arm
12-16 17:26:25.248 22237-22237/com.ubiquity.sciencefacts D/AndroidRuntime: Shutting down VM
12-16 17:26:25.254 22237-22237/com.ubiquity.sciencefacts E/AndroidRuntime: FATAL EXCEPTION: main
12-16 17:26:27.065 22237-22237/com.ubiquity.sciencefacts I/Process: Sending signal. PID: 22237 SIG: 9
12-16 17:33:18.574 24986-24986/com.ubiquity.sciencefacts W/System: ClassLoader referenced unknown path: /data/app/com.ubiquity.sciencefacts-1/lib/arm
12-16 17:33:18.662 24986-24986/com.ubiquity.sciencefacts D/AndroidRuntime: Shutting down VM
12-16 17:33:18.673 24986-24986/com.ubiquity.sciencefacts E/AndroidRuntime: FATAL EXCEPTION: main
12-16 17:33:20.800 24986-24986/com.ubiquity.sciencefacts I/Process: Sending signal. PID: 24986 SIG: 9
12-16 17:34:15.668 25845-25845/com.ubiquity.sciencefacts W/System: ClassLoader referenced unknown path: /data/app/com.ubiquity.sciencefacts-1/lib/arm
12-16 17:34:15.687 25845-25845/com.ubiquity.sciencefacts D/AndroidRuntime: Shutting down VM
12-16 17:34:15.693 25845-25845/com.ubiquity.sciencefacts E/AndroidRuntime: FATAL EXCEPTION: main
12-16 18:00:52.080 2640-2640/com.ubiquity.sciencefacts I/art: Not late-enabling -Xcheck:jni (already on)
12-16 18:00:52.142 2640-2640/com.ubiquity.sciencefacts W/System: ClassLoader referenced unknown path: /data/app/com.ubiquity.sciencefacts-1/lib/x86_64
12-16 18:00:52.568 2640-2640/com.ubiquity.sciencefacts W/System: ClassLoader referenced unknown path: /data/app/com.ubiquity.sciencefacts-1/lib/x86_64
12-16 18:00:52.805 2640-2640/com.ubiquity.sciencefacts W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
12-16 18:00:53.993 2640-2646/com.ubiquity.sciencefacts W/art: Suspending all threads took: 633.582ms
12-16 18:00:54.020 2640-2716/com.ubiquity.sciencefacts D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true
12-16 18:00:54.063 2640-2716/com.ubiquity.sciencefacts I/OpenGLRenderer: Initialized EGL, version 1.4
12-16 18:00:54.091 2640-2716/com.ubiquity.sciencefacts E/EGL_emulation: tid 2716: eglSurfaceAttrib(1165): error 0x3009 (EGL_BAD_MATCH)
12-16 18:00:54.091 2640-2716/com.ubiquity.sciencefacts W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0x7f8b8ec90c40, error=EGL_BAD_MATCH
12-16 18:34:41.488 27869-27869/com.ubiquity.sciencefacts I/art: Late-enabling -Xcheck:jni
12-16 18:34:41.561 27869-27869/com.ubiquity.sciencefacts W/System: ClassLoader referenced unknown path: /data/app/com.ubiquity.sciencefacts-2/lib/arm
12-16 18:34:41.586 27869-27869/com.ubiquity.sciencefacts D/AndroidRuntime: Shutting down VM
12-16 18:34:41.589 27869-27869/com.ubiquity.sciencefacts E/AndroidRuntime: FATAL EXCEPTION: main
                                                                           Process: com.ubiquity.sciencefacts, PID: 27869
                                                                           java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.ubiquity.sciencefacts/com.ubiquity.sciencefacts.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "com.ubiquity.sciencefacts.MainActivity" on path: DexPathList[[zip file "/data/app/com.ubiquity.sciencefacts-2/base.apk"],nativeLibraryDirectories=[/data/app/com.ubiquity.sciencefacts-2/lib/arm, /vendor/lib, /system/lib]]
                                                                               at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2327)
                                                                               at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
                                                                               at android.app.ActivityThread.-wrap11(ActivityThread.java)
                                                                               at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
                                                                               at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                               at android.os.Looper.loop(Looper.java:148)
                                                                               at android.app.ActivityThread.main(ActivityThread.java:5417)
                                                                               at java.lang.reflect.Method.invoke(Native Method)
                                                                               at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                                               at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
                                                                            Caused by: java.lang.ClassNotFoundException: Didn't find class "com.ubiquity.sciencefacts.MainActivity" on path: DexPathList[[zip file "/data/app/com.ubiquity.sciencefacts-2/base.apk"],nativeLibraryDirectories=[/data/app/com.ubiquity.sciencefacts-2/lib/arm, /vendor/lib, /system/lib]]
                                                                               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:1067)
                                                                               at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2317)
                                                                               at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
                                                                               at android.app.ActivityThread.-wrap11(ActivityThread.java) 
                                                                               at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
                                                                               at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                               at android.os.Looper.loop(Looper.java:148) 
                                                                               at android.app.ActivityThread.main(ActivityThread.java:5417) 
                                                                               at java.lang.reflect.Method.invoke(Native Method) 
                                                                               at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                                                                               at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
                                                                            Suppressed: java.lang.ClassNotFoundException: com.ubiquity.sciencefacts.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
12-16 18:34:43.772 27869-27869/com.ubiquity.sciencefacts I/Process: Sending signal. PID: 27869 SIG: 9

重要更新:我建立了一个apk程序,并用它安装在我的手机上,它的工作没有问题。这是否意味着如下评论中所述的目标错误?这是否会影响我的应用程序的分发(为了将来参考,我没有实际分发此应用程序)?

关于您的错误,似乎缺少一些SDK


如果安装了所有需要的SDK和SDK工具,请检查SDK管理器

在您的build.gradle中使用启用的多索引:

defaultConfig {
     multiDexEnabled true
}

清理、生成并运行

您还可以检查build.Gradle文件。 在您的情况下,它应该如下所示:

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 23
    }

    buildTypes {
        debug {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

通过将minifyEnabled设置为false,确保禁用了proguard。这可以确保不会导致其他错误;)

在大多数情况下,只要清洁和重建项目就可以了。

尝试启用USB调试模式。手册

当您使用连接到Android Studio的USB电缆调试/运行应用程序时,对于某些设备,当您卸载应用程序并尝试通过Studio再次运行时,会显示目标错误


为此,卸载应用程序后,只需断开设备与USB电缆的连接,然后重新连接即可。

请复制粘贴日志cat文件。您是否使用任何权限?如果是,那么您将不得不编写运行时代码,请求允许您的应用程序在API 23(或更高版本)上正常工作。此外,目标API应始终大于两个(在您的情况下为23而不是16)。请提供所有logcats Android Studio Show。我不相信我正在使用任何权限。这是一个非常简单的应用程序。是否有办法确定我是否正在使用。我正在尝试使应用程序在API大于16的情况下运行。我是android编程新手,所以我不确定你是否说我在创建项目时应该使用23?这是在我的电脑上,对吗?我不确定我还需要什么。我相信我拥有一切,尽管我在jdk和sdkBasicly上遇到了很多问题,但你需要安装jdk和Android Studio。Android Studio应该自行安装所有需要的SDK,但有时会出现可怕的错误。如果Android Studio一切正常,您还可以检查build.gradle文件和清单。如果您尝试更改目标版本,请参见您的帖子下面的评论中所述。1.清理并运行项目,项目将正常工作,或者删除和运行设备中的即时运行。我相信jdk正在工作。我已经运行了sdk并下载了所有默认选择的文件和我正在使用的API。这就够了吗?我不确定如何更改目标版本。我希望我的应用程序能够运行在API 16以外的任何东西上,但这真的会有问题吗?我的极其简单的应用肯定没有超过64k的引用?
defaultConfig {
     multiDexEnabled true
}
android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 23
    }

    buildTypes {
        debug {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}