运行 真实设备上的应用与模拟器

Running app on real device vs emulator

一般问题:我有数据库应用程序(它创建数据库并允许向其中输入数据)。当在模拟器上 运行 (Nexus 7 API 22 Android 5.0.2) 运行s 正常但是当相同的应用程序 运行s 在真实设备上 ASUS AOSP On Flo Android 5.1.1 API 22 正在崩溃。 运行 其他真实设备上的应用 Sony E5823 Android 6.0.1 API 23 运行 没问题。

编辑:

logcat 输出:

09-27 08:57:50.318 544-572/? I/ActivityManager: Displayed com.linux.site.mrt.mydatabaseexample/.MainActivity: +467ms 09-27 08:57:50.341 894-894/? I/LatinIME: Starting input. Cursor position = -1,-1 09-27 08:57:50.355 894-894/? E/RichInputConnection: Unable to connect to the editor to retrieve text. 09-27 08:57:50.355 894-894/? D/RichInputConnection: Will try to retrieve text later. 09-27 08:57:50.359 894-894/? I/InputAttributes: InputType.TYPE_NULL is specified 09-27 08:57:50.407 894-894/? I/LatinIME: Starting input. Cursor position = 0,0 09-27 08:58:01.265 10240-10240/? E/SQLiteLog: (1) no such table: results_table 09-27 08:58:01.267 10240-10240/? D/AndroidRuntime: Shutting down VM 09-27 08:58:01.268 10240-10240/? E/AndroidRuntime: FATAL EXCEPTION: main Process: com.linux.site.mrt.mydatabaseexample, PID: 10240 android.database.sqlite.SQLiteException: no such table: results_table (code 1): , while compiling: select * from results_table at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method) at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889) at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500) at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588) at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58) at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:37) at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44) at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1316) at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1255) at com.linux.site.mrt.mydatabaseexample.DatabaseHelper.getAllData(DatabaseHelper.java:128) at com.linux.site.mrt.mydatabaseexample.MainActivity.onClick(MainActivity.java:80) at android.view.View.performClick(View.java:4780) at android.view.View$PerformClick.run(View.java:19866) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) 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) 09-27 08:58:01.270 544-1123/? W/ActivityManager: Force finishing activity 1 com.linux.site.mrt.mydatabaseexample/.MainActivity

ass seen in the logcat , table tabel_Result not found in the database, if you clear data stored on the emulator, 也会出现同样的错误。我认为你需要