10-22 15:29:40.897: E/AndroidRuntime(2561): FATAL EXCEPTION: main
10-22 15:29:40.897: E/AndroidRuntime(2561): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.gvg.simid/com.gvg.simid.Login}: java.lang.ClassNotFoundException: Didn't find class "com.gvg.simid.Login" on path: DexPathList[[zip file "/data/app/com.gvg.simid-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.gvg.simid-1, /vendor/lib, /system/lib]]
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2137)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.ActivityThread.access$600(ActivityThread.java:141)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.os.Handler.dispatchMessage(Handler.java:99)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.os.Looper.loop(Looper.java:137)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.ActivityThread.main(ActivityThread.java:5103)
10-22 15:29:40.897: E/AndroidRuntime(2561): at java.lang.reflect.Method.invokeNative(Native Method)
10-22 15:29:40.897: E/AndroidRuntime(2561): at java.lang.reflect.Method.invoke(Method.java:525)
10-22 15:29:40.897: E/AndroidRuntime(2561): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
10-22 15:29:40.897: E/AndroidRuntime(2561): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
10-22 15:29:40.897: E/AndroidRuntime(2561): at dalvik.system.NativeStart.main(Native Method)
10-22 15:29:40.897: E/AndroidRuntime(2561): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.gvg.simid.Login" on path: DexPathList[[zip file "/data/app/com.gvg.simid-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.gvg.simid-1, /vendor/lib, /system/lib]]
10-22 15:29:40.897: E/AndroidRuntime(2561): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:53)
10-22 15:29:40.897: E/AndroidRuntime(2561): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
10-22 15:29:40.897: E/AndroidRuntime(2561): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
10-22 15:29:40.897: E/AndroidRuntime(2561): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2128)
10-22 15:29:40.897: E/AndroidRuntime(2561): ... 11 more
Saya tidak begitu yakin apa yang menyebabkannya seperti yang tercantum dengan benar di manifes:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.gvg.simid"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_LOGS" />
<uses-permission android:name="android.permission.READ_OWNER_DATA" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_OWNER_DATA" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-feature android:name="android.hardware.usb.host" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.gvg.simid.Login"
android:label="@string/app_name"
android:screenOrientation="landscape">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Saya juga menambahkan "Perpustakaan Pribadi Android" untuk membangun jalur, dan memindahkannya ke bagian atas "Pesan dan Ekspor", tetapi masih memberi saya kesalahan yang sama.
EDIT: Saya membangun kembali proyek sepenuhnya, dan tidak dapat mereproduksi kesalahan. Tidak yakin apa yang menyebabkannya.
Jawaban:
Saya memiliki masalah yang sama untuk proyek saya. Itu terjadi karena konflik dalam versi pustaka dukungan android antara proyek saya dan proyek perpustakaan yang saya tambahkan dalam proyek saya. Letakkan pustaka dukungan Android versi yang sama di proyek Anda dan proyek pustaka yang Anda sertakan dan bersihkan build ... Semuanya akan berfungsi ...
sumber
Metode berikut ini berhasil untuk saya
project
dan pilihproperties
Java Build Path
->Order and Export
"Android Dependencies"
clean your project
dan larisumber
project
? Apa artinya?Bagi Anda yang mengalami masalah ini di Android Studio, saya memiliki masalah yang sama setelah penggabungan dan untuk beberapa alasan bahkan tetap ada setelah
clean
daninvalidate cash/restart
operasi yang membuat saya gila.Ternyata, itu bisa diperbaiki dengan menjalankan gradle build sekali dari command line. Cukup jalankan perintah berikut di direktori proyek:
Saya berharap ini akan menyelamatkan seseorang dari pemborosan waktu dan frustrasi yang harus saya alami.
sumber
Saya memiliki masalah yang sama, ini berhasil untuk saya
1) Jalur lengkap aktivitas di mainfest di tempat jalur relatif.
2) Hapus folder 'build' dan bersihkan proyek.
sumber
Jika Anda menggunakan Eclipse, coba Project -> Clean
sumber
Jika Anda menambahkan yang baru
Library Project
sebagai modul ke proyek Android Anda dan Anda menggunakanKotlin
di perpustakaan Anda jangan lupa untuk menambahkanke atas file Gradle modul Anda. Android Studio tidak menambahkan baris ini saat Anda membuat modul baru dan ini dapat membuang waktu Anda seperti saya.
Sunting: Setelah beberapa saat, saya hanya berjuang dengan masalah ini lagi dan kali ini saya lupa menambahkan modul saya sebagai ketergantungan pada proyek. :)
sumber
Ini terjadi jika kita mengubah Build Path dari APP, ini bisa dalam hal apa pun Menambah atau Menghapus atau Mengubah Perpustakaan atau file .jar. Solusi terbaik adalah Restart Eclipse.
sumber
Jika Anda mendapatkan kesalahan ini saat menggunakan fitur Instant Run baru di Android Studio 2.0 dan yang lebih baru, maka ini adalah semacam bug di pihak mereka.
Untuk memperbaikinya, Anda harus menghentikan aplikasi Anda secara manual di Device / Emulator jika tidak dihentikan kemudian dari Android Studio pilih Build→Rebuild Project.
Kemudian klik tombol Run atau SHIFT + F10
sumber
Untuk siapa saja yang mengaktifkan multidex, tulis ini
di dalam build.gradle
tulis kelas
EnableMultiDex
seperti di bawah inidan
AndroidManifest.xml
tuliskan className ini di dalam tag Applicationsumber
MultiDexApplication
kelas, bukanApplication
.MultiDexApplication
, dan pengecualian menghilang di Android 4.4.Jika Anda menggunakan Multidex di Android 4.4 dan sebelumnya, masalahnya mungkin kelas aktivitas Anda terletak di file dex kedua dan oleh karena itu tidak ditemukan oleh sistem android.
Untuk menyimpan kelas aktivitas Anda di file dex utama, lihat halaman ini:
https://developer.android.com/studio/build/multidex.html#keep
Untuk menemukan kelas mana yang terletak di file dex, gunakan Android Studio .
Cukup seret dan lepas apk Anda ke Android Studio. Anda seharusnya dapat melihat file dex Anda di penjelajah apk.
Kemudian pilih file dex untuk melihat kelas apa yang ada di dalamnya.
alternatif lain adalah dexdump:
Anda dapat memeriksa konten file dex Anda yang terdapat di apk Anda dengan menggunakan perintah dexdump yang dapat ditemukan di
Untuk pengguna windows lihat alat ini saya buat untuk memudahkan proses
sumber
Dalam kasus saya, itu adalah proses minifikasi proguard yang menghapus beberapa kelas penting dari apk produksi saya.
Solusinya adalah mengedit file proguard-rules.pro dan menambahkan yang berikut ini:
sumber
1) Buat folder libs di bawah project root
2) Salin dan tempel file jar ke dalamnya
3) Konfigurasi jalur build (Tambahkan jar)
4) Bersihkan dan jalankan
cheers :-)
sumber
Percaya atau tidak ... Saya mencoba hampir setiap jawaban yang saya temukan di sini di stackoverflow. Tidak ada yang membantu, sampai saya baru saja menghidupkan ulang mesin. Android Studio saya berfungsi di Ubuntu 16.04 LTS.
sumber
Saya menghadapi kesalahan ini sekali ketika saya mendefinisikan kelas yang memperluas tampilan tetapi merujuk ke tampilan kustom ini di file tata letak dengan nama yang salah. Alih-alih
<com.example.customview/>
, saya telah memasukkan<com.customview/>
file layout XML.sumber
Saya menghadapi masalah yang sama dan menyelesaikannya dengan melakukan hal berikut:
Dari menu build pilih
1- Proyek bersih.
2- Bangun APK.
sumber
Saya menemui masalah yang sama dan saya melihat kode contoh diletakkan di bawah direktori "java", bukan direktori "src". Setelah memindahkan kode ke src, masalah terpecahkan.
Pastikan juga direktori aplikasi dibagi menjadi beberapa folder. mis.
/main/com/site/appname/
tidak/main/com.site.appname/
Semoga berhasil ~
sumber
Saya menghadapi masalah yang sama, dan setelah banyak bekerja dan mencari, saya menemukan solusinya: Saya baru saja membersihkan proyek kemudian membangun apk. -Build-> Clean Project -Build-> Build APK (s) Semoga bermanfaat .....
sumber
Saya mengalami masalah ini baru-baru ini dan saya menggunakan Android Studio 0.8.4
Masalahnya adalah kenyataan bahwa saya memutuskan untuk mengganti nama file tata letak menu XML yang disebut main.xml.
Klik kanan padanya dan pilih Refactor -> Rename . Sebelum mengganti namanya, pastikan hapus centang "Cari di komentar dan string" dan tekan Refactor .
Karena file saya awalnya bernama 'main' , itu mengganti nama jalur kritis di app.iml dan build.gradle, terutama java.srcDirs di build.gradle, karena jalurnya didefinisikan sebagai
'src/main/java'
.Saya harap ini membantu siapa saja yang mungkin mengalami masalah ini.
sumber
Saya mengalami masalah ini setelah memutakhirkan dari versi 18. Setelah pemutakhiran, saya memiliki yang berikut: Target Bangun Proyek adalah 5.01, targetSDKVersion = 21
Tapi: Build Tools masih dari Android 4.3.1 (18) Apa yang saya perhatikan adalah bahwa aplikasi yang mendapatkan aktivitasnya dari ActionBarActivity mengalami error di atas, tetapi aplikasi yang masih tidak berjalan.
Jadi perbaikan sederhananya adalah menggunakan Android SDK Build Tools 21.1.2 terbaru, bukan hanya Android SDK Build Tools 18, yang tampaknya merupakan default.
Jadi pelakunya tampaknya pustaka Appcompat, yang saya gunakan untuk kompatibilitas mundur Actionbar.
Dan omong-omong : menggunakan pustaka appcompat saya harus mengatur / memperbaiki:
$SDKInstallDIR$\Android\android-sdk\extras\android\support\v7\appcompat\project.properties target=android-21
(yang direkomendasikan di beberapa pos berguna lainnya dan yang memiliki nilai 19 secara default))sumber
Saya memiliki masalah yang sama di Windows. Saya telah mengganti nama jalur ke proyek menjadi sesuatu yang mengandung spasi.
Pastikan jalur ke proyek Anda tidak mengandung spasi.
sumber
Solusi yang disebutkan di sini -> Solusi Masalah Multidex berhasil untuk saya. Di bawah ini adalah apa yang perlu ditambahkan ke konteks Aplikasi:
sumber
Saya mengalami masalah ini, yang disebabkan oleh beberapa penyebab, tetapi saya melihat ini di stacktrace "
**Unable to instantiate activity ComponentInfo{...}: java.lang.ClassNotFoundException: Didn't find class "..." on path: DexPathList[[**
" Anda, saya menemukan perbedaan di my.classpath
sebelum berhenti bekerja.Saya telah MENAMBAHKAN baris:
ini adalah versi terakhir:
Sekarang berhasil! =)
sumber
Saya memiliki masalah yang persis sama. Seperti yang disarankan @weiweia, pindahkan kode dari direktori java ke src berfungsi untuk saya. Saya juga menghapus Dependensi Android dari Project -> Properties -> Java Build Path -> Order and Export, dan memastikan hanya untuk menyertakan Proyek Perpustakaan di layar Android.
sumber
Saya mengalami masalah ini cukup lama, dan seperti orang lain, jawaban di atas tidak berlaku untuk proyek saya.
Dalam proyek saya, saya telah menghubungkan sebuah proyek ke proyek saya dan itu melemparkan ClassDefNotFoundError setiap kali beberapa kode untuk proyek lain dijalankan.
Jadi inilah solusi saya. Saya pergi ke properti proyek dari proyek saya dan Java Build Path. Menekan "Source" -tab dan "link source" dari folder-src proyek lain ke proyek saya sendiri dan menamai folder baru "core-src".
Semoga solusi ini membantu seseorang
sumber
Saya memiliki masalah yang sama. Saya menggunakan Xamarin.Android.
Masalah dalam kasus saya adalah saya mengubah versionCode dan versionName.
Saya tidak punya masalah ketika saya mengaturnya seperti ini:
Masalah muncul ketika saya mengubahnya menjadi ini (versionCode 2 dan versionName 0.0.1):
Saya memperbaiki masalah ini dengan mengubah ke versionCode 2 dan versionName 1.0.0.1, seperti ini:
Saya tidak yakin mengapa ini menjadi masalah, mungkin Android tidak menyukai versionName yang lebih rendah dengan versionCode yang lebih tinggi?
Saya menemukan yang berikut ini di http://developer.android.com/guide/topics/manifest/manifest-element.html#vname
sumber
Untuk berjaga-jaga jika ada yang menghadapi masalah yang sama dengan saya dan tidak ada saran jawaban di sini yang membantu.
Bagi saya, penyebabnya adalah, refactor studio Android bermasalah. Saya memindahkan kelas dalam di luar kelas, yang merupakan Tampilan dan karena itu juga memiliki xml, tempat jalur langsung ditetapkan. Jalur ini tidak akan difaktorkan ulang oleh studio! Dan tidak ada kesalahan yang akan terjadi.
Semoga ini bisa membantu siapa pun. Bersulang.
sumber
Dalam kasus kami, kami ingin mengkompilasi versi Vagrant dan memiliki kesalahan yang sama. Kami memperbaikinya dengan
clean project
danrebuild project
di menu Bangunsumber
Saya baru saja memulai ulang perangkat dan menjalankan aplikasi. Ini bekerja tanpa masalah apa pun. Semoga ini bisa membantu seseorang :)
sumber
Saya menemukan kesalahan ini di Android Studio ketika saya mencoba melakukan debug di perangkat dengan API 23 , jadi saya memeriksa Android Studio dan saya perhatikan bahwa saya tidak menginstal versi API 23 ini . Setelah menginstal, saya menyelesaikan masalah.
sumber
Saya mengalami masalah ini beberapa kali dan sering kali saya tidak melakukan sesuatu yang jelas-jelas salah dengan dependensi.
Itu selalu merupakan ide yang baik untuk memeriksa apakah kelas 'tidak ditemukan' ini ada di apk final. Jika ya, seperti yang terjadi dalam kasus saya, biasanya masalahnya adalah:
Bukan kelas yang diberikan tidak ditemukan, tetapi tidak dapat dimuat karena kelas supernya tidak ada.
Periksa apakah kelas yang Anda perluas tersedia, lalu coba perbaiki skrip build atau dependensi yang sesuai.
sumber