File .java Android Studio Rusak setelah dimatikan dengan tidak benar

Saya menghibernasi laptop saya ketika Android Studio sedang berjalan dan kemudian menemukan bahwa laptop telah dimatikan. Sekarang salah satu file sumber saya tampak kosong di Android Studio dan juga di Wordpad. Saat saya membukanya di Notepad++, muncul karakter NUL. File tersebut memiliki ukuran yang sama seperti sebelumnya yang berarti isi file tidak hilang (semoga).

Bagaimana cara memulihkan konten sebenarnya dari file ini? Saya memerlukan ini karena saya tidak memiliki cadangan file ini.


person cout_display_name    schedule 07.04.2015    source sumber
comment
Saya belum pernah mendengar hal ini terjadi sebelumnya! Apakah Anda setidaknya memiliki file .class?   -  person javajavajava    schedule 07.04.2015
comment
Saya tidak dapat menemukan file .class   -  person cout_display_name    schedule 07.04.2015
comment
Ini sebenarnya terjadi pada saya DUA KALI. Satu kerusakan dari Sublime Text, satu lagi dari Android Studio. WTF   -  person Zyoo    schedule 29.07.2015
comment
ini sangat sering terjadi pada saya. terutama setelah BSOD   -  person A. N    schedule 08.04.2016
comment
Lihat jawaban saya di sini, ini mungkin membantu Anda stackoverflow.com/questions/41175409/   -  person resw67    schedule 14.01.2017


Jawaban (9)


Lihat apakah Android Studio menyimpan versi dalam riwayat lokal.

Buka file java Anda di Android Studio, dan navigasikan ke

VCS -> Local History -> See History

Juga, mulai gunakan kontrol versi, seperti git.

person Eric S.    schedule 07.04.2015
comment
Atau mungkin lebih sederhana, klik kanan file dan buka riwayat lokal - person stevebot; 07.04.2015
comment
katanya isinya identik dan tidak menampilkan apa pun, seperti di Notepad. Satu hal yang saya perhatikan adalah di bagian bawah Android Studio pada pemisah baris yang biasanya bertuliskan CRLF, itu tidak ditampilkan untuk file ini. - person cout_display_name; 07.04.2015
comment
Ini menghemat dua hari kerja saya... tetapi sekarang semua impor gagal - person seema; 23.09.2015
comment
Saya membuat kesalahan menggunakan opsi Invalidate Cache/Restart sebelum ini dan itu menghapus semua riwayat lokal saya :( Hati-hati - person Rehan; 12.11.2015
comment
penolong. file java saya tiba-tiba menjadi file xml setelah emulator + Mac crash dan reboot otomatis (saya heran kenapa). - person neobie; 05.11.2016

Inilah yang selalu berhasil

Langkah 1. Cari *.apk di pc Anda, itu akan menampilkan lokasi banyak apk tetapi temukan app-debug.apk ini adalah versi terbaru dari aplikasi/proyek Anda yang ram pada emulator atau perangkat fisik (Konfirmasikan dengan memeriksa lokasinya. itu harus ada di folder proyek Anda)

Langkah 2. Setelah berhasil menemukan apk ini, ganti namanya menjadi zip dan buka di perangkat lunak pembuka zip atau rar apa pun

Langkah 3. Setelah mengekstrak, Anda akan menemukan class.dex di root folder yang diekstraksi

Langkah 4. Unduh dex2jar versi terbaru

Langkah 5. Letakkan file class.dex ke file de2jar.bat di folder dex2jar. Ini akan mengekstrak stoples darinya.

Langkah 6. Sekarang buka file jar ini di jd-gui (Unduh di sini) dan voila Anda melihat semua kelas yang pernah Anda ikuti di versi terbaru Anda proyek kerja.

Ini hanyalah hadiah balasan kecil atas semua bantuan yang saya terima dari jawaban dari komunitas stackoverflow.

Senang bisa membantu :)

person Lakhwinder Singh Dhillon    schedule 07.09.2015
comment
Solusi Anda menyelamatkan saya. Terima kasih banyak :* - person Alireza; 06.10.2015
comment
Hebat! Terima kasih ini menyelamatkan saya, riwayat lokal kosong! - person Firas Abd Alrahman; 24.10.2015
comment
Terima kasih!! solusi yang bagus - person payal tuteja; 19.12.2015
comment
File yang diekstraksi (langkah 5) adalah file 1K bernama 'classes-dex2jar.jar' yang muncul di folder yang sama dengan file 'classes-dex' 9231K asli. Membuka kelas-dex2jar.jar 1K dengan jd-gui tidak menghasilkan apa pun (seperti yang diharapkan untuk file 1K). De2jar.bat tampaknya tidak berfungsi untuk saya, ada opsi lain? Haruskah file jar diberi nama 'classes-dex2jar.jar'? - person Androidcoder; 02.09.2016
comment
ya, file yang dihasilkan diberi nama 'classes-dex2jar.jar'. coba ulangi langkahnya lagi. atau coba letakkan class.dex ke dex2jar.bat alih-alih d2j-dex2jar.bat di folder yang sama (Meskipun sudah tidak digunakan lagi tetapi mungkin masih berfungsi) - person Lakhwinder Singh Dhillon; 02.09.2016
comment
Pagi ini saya berhasil mendapatkan file 9527K class-dex2jar.jar. Laptop saya menyebutnya ketik file '9 Zip'. Ketika saya memasukkan ini ke dekoder Java, saya melihat tab baru berlabel 'classes-dex2jar.jar', jika tidak maka akan kosong. Saya tidak melihat hal lain di jendela, seperti nama file kelas. Apakah ada hal lain yang harus dilakukan? Membuka kelas-dex2jar.jar di '9 zip', yang saya unduh dari toko aplikasi windows, memang menghasilkan beberapa file .class, tetapi mereka dalam bytecode seperti 'b·!(±#¶&¼*´»'. Ada saran saat mencapai kode sumber yang hilang dan dapat dibaca setelah saya sampai sejauh ini, saya pikir itulah intinya. - person Androidcoder; 02.09.2016
comment
Apakah Anda menggunakan dekompiler jd-gui? atau coba saja instal apk terbaru yang Anda miliki, ke beberapa ponsel/emulator dan instal decompiler dari playstore. Itu tidak memerlukan keahlian apa pun. Saya mencoba 'Tampilkan Java'. itu bekerja dengan baik. - person Lakhwinder Singh Dhillon; 02.09.2016

Langkah sederhana yang selalu membantu saya mengatasi masalah ini

Hapus folder cache dari jalur tersebut

 C:\Users\user\.AndroidStudio3.6\system\caches.

Menghapus folder di atas terkadang tidak berhasil, jadi perlu menghapus folder cache proyek tertentu juga

F:\AndroidStudioProjects\sampleApplication\.idea\caches
person Nabin    schedule 12.05.2020
comment
Ya, masalah ini terjadi karena pematian yang tidak tepat, saya menghadapinya berkali-kali dan dapat diselesaikan dengan langkah ini. Terima kasih. - person Amrish Kakadiya; 26.08.2020

Android Studio memiliki riwayat file bawaan. Saya akan memeriksanya terlebih dahulu. Anda mungkin akan menemukan kode Anda di sana. Anda dapat menemukannya jika Anda mengklik kanan file Anda.

Jika hanya ada karakter khusus (nul itu) yang menghapusnya dengan notepad++ dan periksa apakah itu memperbaiki masalah Anda.

person rekire    schedule 07.04.2015

Solusi Paling Sederhana!

  1. Buka situs web ini - http://www.javadecompilers.com
  2. Unggah file APK proyek Anda (app-debug.apk)
  3. Dan ini dia, Anda dapat melihat dan mengunduh keseluruhan proyek.

Catatan: Jika Anda menginginkan file Java, Anda dapat menemukannya di folder 'com' dari folder induk dari folder yang didekompilasi (diunduh).

person mayur saini    schedule 09.12.2016

Tutup studio Android, pindahkan proyek ke folder lain dari folder saat ini dan buka kembali aplikasi dari folder itu, berhasil untuk saya

person viveksuggu    schedule 02.03.2019
comment
siapa sangka ini akan benar-benar berhasil - person Isaac Martin Otim; 11.04.2021

Saya tidak yakin apa yang menyebabkan hal ini terjadi dan Android Studio adalah IDE terburuk yang pernah saya gunakan (bagaimana mungkin sebuah alat berani mengedit dan menyimpan file pengguna tanpa bertanya? tim kegunaan Google berhak mendapatkan penghargaan nobel)

Tapi inilah yang saya lakukan untuk mengelola menyelesaikannya...

Segera setelah Anda mengidentifikasi peristiwa seperti ini terjadi di dekat studio Android, hentikan pembangunan apa pun yang sedang berlangsung dan jangan mencoba menjalankan proyek...
sepertinya terkadang modifikasi tidak dilakukan pada file sumber sebenarnya, tetapi Android studio membuka beberapa file perantara alih-alih sumber asli dan menampilkannya kepada Anda saat Anda membuka sumbernya... semacam kekacauan tautan simbolik

Jadi dengan Android studio ditutup, buka file explorer, buka ruang kerja Anda dan buat salinan proyek Anda di direktori lain (sejauh mungkin dari Android studio)

buka file sumber Anda dengan editor teks apa pun dan periksa apakah masih baik-baik saja...

buka kembali android studio dan copy/paste file demi file, isi copy project yang anda buat ke official project

Ini sangat membosankan dan mungkin memakan waktu cukup lama tergantung ukuran proyek Anda, tetapi saya berhasil memulihkan lebih dari 90% file saya seperti ini

person Rafael Lima    schedule 31.05.2019

Pertama: selalu gunakan kontrol sumber. Git dan DVCS serupa tidak memerlukan server dan dapat membuat repositori untuk Anda secara lokal.

Sedangkan untuk memulihkan file Anda, praktisnya tergantung pada apakah blok disk yang ditunjukkan oleh sistem file sudah benar; fakta bahwa Anda melihat \0 menunjukkan bahwa Anda menggunakan SSD dan catatan sistem file memiliki ukuran yang tepat tetapi blok yang salah, yang berarti pemulihan tidak mungkin terjadi. Anda harus membuka file dengan hex editor dan melihat apakah konten apa pun yang melewati beberapa byte awal dapat dibaca. Jika tidak, file tersebut hampir pasti tidak dapat dipulihkan.

Namun, IntelliJ menyertakan fitur riwayat lokal yang mungkin memiliki salinan lama dari mengajukan.

person chrylis -cautiouslyoptimistic-    schedule 07.04.2015
comment
Itu juga tidak menunjukkan apa pun di sana. Tapi katanya isinya sama - person cout_display_name; 07.04.2015

Coba di studio Android

Batalkan dan cache/Restart ....

person madhu527    schedule 14.08.2018