繁体   English   中英

Android 应用程序不在模拟器上运行,而是在真实设备上运行

[英]Android App NOT Running on Emulator, but on real device

Android Studio 2.1、Gradle 2.1.0

我在这里搜索了类似的问题,但没有找到。 主要与模拟器有关,但不是在真实设备上。

问题是,一旦模拟器准备好并启动应用程序,当我单击第一个活动时,应用程序突然崩溃。 然后,我尝试在真实设备上运行,一切正常。

第一。 此问题与running on emulator but not on real device App 不同running on emulator but not on real device App 不同,这与此running on emulator but not on real device

第二。 编辑器中没有错误,只有一点警告。

第三。 logcats 说; 致命例外:主要。

我所做的;

1) 只删除当前模拟器,不删除系统镜像。

2)重新创建模拟器,尝试启动应用程序,应用程序再次崩溃。

3) 删除,重新下载所有3个系统镜像;

ARM EABI v7a 系统映像。

英特尔 x86 Atom_64 系统映像。

Intel x86 Atom 系统映像。

崩溃报告;

致命异常:主进程:com.example.akmalzaki.uniklattendanceapp2,PID:2942 java.lang.RuntimeException:无法启动活动 ComponentInfo{com.example.akmalzaki.uniklattendanceapp2/com.example.akmalzaki.uniklattendanceapp2.Science}:java. lang.NullPointerException:尝试在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416) 处的 android.app.ActivityThread.handleLaunchActivity( ActivityThread.java:2476) 在 android.app.ActivityThread.-wrap11(ActivityThread.java) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 在 android.os.Handler.dispatchMessage(Handler.java: 102) 在 android.os.Looper.loop(Looper.java:148) 在 android.app.ActivityThread.main(ActivityThread.java:5417) 在 java.lang.reflect.Method.invoke(Native Method) 在 com.android .internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 在 com.android.internal.os.ZygoteInit.m ain(ZygoteInit.java:616) 由:java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.nfc.NfcAdapter.isEnabled()' on a null object reference at com.example.akmalzaki.uniklattendanceapp2.Science。 onCreate(Science.java:49) at android.app.Activity.performCreate(Activity.java:6237) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java) :2369) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 在 android.app.ActivityThread.-wrap11(ActivityThread.java) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 在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)

您试图获得模拟器不支持的 NFC。 这可能会导致问题,因为世界上仍然存在没有 NFC 硬件的真实设备。 如果它对您的应用程序至关重要,则应包含清单标记

<uses-feature android:name="android.hardware.nfc" android:required="true" />

这样,不支持 NFC 的设备将无法安装您的应用程序。 如果它不是关键,例如您同时启用了 NFC 和 QR 扫描,您可以将其设置为false但您应该非常仔细地检查每个像这样询问 NFCAdapter 的方法,例如:

NfcAdapter.getDefaultAdapter(context) !=null

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM