मेरा ऐप एक अपरिचित अपवाद हैंडलर का उपयोग करता है जो ऐप क्रैश होने पर मुझे स्टैक ट्रेस भेजता है। अक्सर मुझे यह रिपोर्ट यादृच्छिक उपयोगकर्ताओं से मिलती है।यादृच्छिक अपवाद android.database.sqlite.SQLiteException: डेटाबेस फ़ाइल को खोलने में असमर्थ
मैं इसे दोहराना नहीं कर सकता, डेटाबेस का उद्घाटन हमेशा मेरे मामले में सफल होता है। यह बाह्य एसडी कार्ड पर संग्रहीत डेटाबेस नहीं है, केवल SQLiteOpenHelper(context, "SomeName", null, someVersionCode)
के साथ खोला गया डेटाबेस।
क्या आपके पास इसका कोई अनुभव है? डेटाबेस खोलने से पहले मैं क्या संभावनाएं देख सकता हूं?
धन्यवाद!
android.database.sqlite.SQLiteException: unable to open database file
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2496)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
at android.app.ActivityThread.access$2200(ActivityThread.java:119)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4363)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.database.sqlite.SQLiteException: unable to open database file
at android.database.sqlite.SQLiteDatabase.dbopen(Native Method)
at android.database.sqlite.SQLiteDatabase.<init>(SQLiteDatabase.java:1698)
at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:739)
at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:761)
at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:754)
at android.app.ApplicationContext.openOrCreateDatabase(ApplicationContext.java:476)
at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:193)
at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:98)
संपत्ति फ़ोल्डर के अंदर अपने डेटाबेस नाम सुनिश्चित करें और डेटाबेस का नाम घोषित डेटाबेस सहायक वर्ग में करने की कोशिश में ही है। और जब आप डेटाबेस कॉपी करने का प्रयास करते हैं तो डेटाबेस नाम के साथ अपने डेटाबेस का पथ देखें। अपना कोड यहां डालें ताकि अन्य आपके डेटाबेस सहायक वर्ग को देख सकें। – Maulik
त्रुटि से पता चलता है कि डेटाबेस डेटाबेस नहीं खोल सका, इसका मतलब है कि आपने खुली डेटाबेस विधि में "SQLiteDatabase.OPEN_READWRITE" स्थिति सेट नहीं की है और अपनी डेटाबेस फ़ाइल के गुणों में भी परिवर्तन को पढ़ने की अनुमति को बदलना है। दोनों मामलों के ऊपर सुनिश्चित करें। – Maulik
इस [लिंक] पर जाएं (http://stackoverflow.com/questions/4187631/unable-to-open-database-file-when-using-sqliteopenhelper-with-instrumentation) यह आपके लिए – Engineer