Intereting Posts
Как разместить объект на другой стороне экрана Android Рисование полилиний со стрелкой на карте Google с направлением Android: SharedPreferences в целочисленном значении BroadcastReceiver RadioButton не обновляется? UnsatisfiedLInkError Ссылка на FFMPEG с NDK Значок значка в верхней части нижней панели навигационной панели Добавление карт Google api v2 в существующий проект Как изменить ключевой фон любого ключа в мягкой клавиатуре Android Как скрыть Визуальный вид просмотра видео или Progressbar в андроиде Сканирование точек доступа Wi-Fi на Android в режиме «горячих точек» Arduino Mega получает правильные данные через Serial 0, но не Serial 1-3 Android: использование WebView вне контекста активности Использование Butterknife для ввода массива представлений Как преобразовать в цвет в битмап? Храните дополнительные данные в Диспетчере учетных записей Android Measure () не работает должным образом с динамическими макетами и textView – Android

Класс не найден, но класс определенно существует

ОК, поэтому у меня есть проект в Android Studio, но когда я запускаю приложение на эмуляторе, он сработает. В трассировке стека есть класс, не найденный исключение для основного класса активности, и, по моему мнению, он указывает на строку с просто закрывающей скобкой для оператора if.

Вот трассировка стека:

02-21 14:49:44.498 2362-2362/com.example.user.assignment1 E/AndroidRuntime﹕ FATAL EXCEPTION: main Process: com.example.user.assignment1, PID: 2362 java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.user.assignment1/com.example.user.assignment1.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "com.example.user.assignment1.MainActivity" on path: DexPathList[[zip file "/data/app/com.example.user.assignment1-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]] at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2209) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360) at android.app.ActivityThread.access$800(ActivityThread.java:144) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5221) 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:899) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.user.assignment1.MainActivity" on path: DexPathList[[zip file "/data/app/com.example.user.assignment1-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:511) at java.lang.ClassLoader.loadClass(ClassLoader.java:469) at android.app.Instrumentation.newActivity(Instrumentation.java:1065) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2199) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360) at android.app.ActivityThread.access$800(ActivityThread.java:144) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5221) 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:899) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) Suppressed: java.lang.NoClassDefFoundError: com.example.user.assignment1.MainActivity at dalvik.system.DexFile.defineClassNative(Native Method) at dalvik.system.DexFile.defineClass(DexFile.java:226) at dalvik.system.DexFile.loadClassBinaryName(DexFile.java:219) at dalvik.system.DexPathList.findClass(DexPathList.java:321) at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:54) ... 14 more Suppressed: java.lang.ClassNotFoundException: com.example.user.assignment1.MainActivity at java.lang.Class.classForName(Native Method) at java.lang.BootClassLoader.findClass(ClassLoader.java:781) at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) at java.lang.ClassLoader.loadClass(ClassLoader.java:504) ... 13 more Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available 

Поскольку я не могу понять, где ошибка, я также отправлю код здесь:

 package com.example.user.assignment1; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.TextView; import java.util.Random; public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } public void left_click(View view) { Button l=(Button) findViewById(R.id.left); Button r=(Button) findViewById(R.id.right); int l1 = Integer.parseInt(l.getText().toString()); int r1 = Integer.parseInt(r.getText().toString()); TextView t=(TextView) findViewById(R.id.label); if(l1>r1) { t.setText("Correct! "+l1+" is bigger!"); } else { t.setText("Sorry! " + r1 + " is bigger!"); } Random ran = new Random(); int random = ran.nextInt(100); l.setText(random); r.setText(random); } public void right_click(View view) { Button l=(Button) findViewById(R.id.left); Button r=(Button) findViewById(R.id.right); int l1 = Integer.parseInt(l.getText().toString()); int r1 = Integer.parseInt(r.getText().toString()); TextView t=(TextView) findViewById(R.id.label); if(l1<r1) { t.setText("Correct! "+r1+" is bigger!"); } else { t.setText("Sorry! " + l1 + " is bigger!"); } Random ran = new Random(); int random = ran.nextInt(100); l.setText(random); r.setText(random); } } образом package com.example.user.assignment1; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.TextView; import java.util.Random; public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } public void left_click(View view) { Button l=(Button) findViewById(R.id.left); Button r=(Button) findViewById(R.id.right); int l1 = Integer.parseInt(l.getText().toString()); int r1 = Integer.parseInt(r.getText().toString()); TextView t=(TextView) findViewById(R.id.label); if(l1>r1) { t.setText("Correct! "+l1+" is bigger!"); } else { t.setText("Sorry! " + r1 + " is bigger!"); } Random ran = new Random(); int random = ran.nextInt(100); l.setText(random); r.setText(random); } public void right_click(View view) { Button l=(Button) findViewById(R.id.left); Button r=(Button) findViewById(R.id.right); int l1 = Integer.parseInt(l.getText().toString()); int r1 = Integer.parseInt(r.getText().toString()); TextView t=(TextView) findViewById(R.id.label); if(l1<r1) { t.setText("Correct! "+r1+" is bigger!"); } else { t.setText("Sorry! " + l1 + " is bigger!"); } Random ran = new Random(); int random = ran.nextInt(100); l.setText(random); r.setText(random); } } образом package com.example.user.assignment1; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.TextView; import java.util.Random; public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } public void left_click(View view) { Button l=(Button) findViewById(R.id.left); Button r=(Button) findViewById(R.id.right); int l1 = Integer.parseInt(l.getText().toString()); int r1 = Integer.parseInt(r.getText().toString()); TextView t=(TextView) findViewById(R.id.label); if(l1>r1) { t.setText("Correct! "+l1+" is bigger!"); } else { t.setText("Sorry! " + r1 + " is bigger!"); } Random ran = new Random(); int random = ran.nextInt(100); l.setText(random); r.setText(random); } public void right_click(View view) { Button l=(Button) findViewById(R.id.left); Button r=(Button) findViewById(R.id.right); int l1 = Integer.parseInt(l.getText().toString()); int r1 = Integer.parseInt(r.getText().toString()); TextView t=(TextView) findViewById(R.id.label); if(l1<r1) { t.setText("Correct! "+r1+" is bigger!"); } else { t.setText("Sorry! " + l1 + " is bigger!"); } Random ran = new Random(); int random = ran.nextInt(100); l.setText(random); r.setText(random); } } образом package com.example.user.assignment1; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.TextView; import java.util.Random; public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } public void left_click(View view) { Button l=(Button) findViewById(R.id.left); Button r=(Button) findViewById(R.id.right); int l1 = Integer.parseInt(l.getText().toString()); int r1 = Integer.parseInt(r.getText().toString()); TextView t=(TextView) findViewById(R.id.label); if(l1>r1) { t.setText("Correct! "+l1+" is bigger!"); } else { t.setText("Sorry! " + r1 + " is bigger!"); } Random ran = new Random(); int random = ran.nextInt(100); l.setText(random); r.setText(random); } public void right_click(View view) { Button l=(Button) findViewById(R.id.left); Button r=(Button) findViewById(R.id.right); int l1 = Integer.parseInt(l.getText().toString()); int r1 = Integer.parseInt(r.getText().toString()); TextView t=(TextView) findViewById(R.id.label); if(l1<r1) { t.setText("Correct! "+r1+" is bigger!"); } else { t.setText("Sorry! " + l1 + " is bigger!"); } Random ran = new Random(); int random = ran.nextInt(100); l.setText(random); r.setText(random); } } образом package com.example.user.assignment1; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.TextView; import java.util.Random; public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } public void left_click(View view) { Button l=(Button) findViewById(R.id.left); Button r=(Button) findViewById(R.id.right); int l1 = Integer.parseInt(l.getText().toString()); int r1 = Integer.parseInt(r.getText().toString()); TextView t=(TextView) findViewById(R.id.label); if(l1>r1) { t.setText("Correct! "+l1+" is bigger!"); } else { t.setText("Sorry! " + r1 + " is bigger!"); } Random ran = new Random(); int random = ran.nextInt(100); l.setText(random); r.setText(random); } public void right_click(View view) { Button l=(Button) findViewById(R.id.left); Button r=(Button) findViewById(R.id.right); int l1 = Integer.parseInt(l.getText().toString()); int r1 = Integer.parseInt(r.getText().toString()); TextView t=(TextView) findViewById(R.id.label); if(l1<r1) { t.setText("Correct! "+r1+" is bigger!"); } else { t.setText("Sorry! " + l1 + " is bigger!"); } Random ran = new Random(); int random = ran.nextInt(100); l.setText(random); r.setText(random); } } 

В файле ActivityThread.java имеется много ошибок, которые, по-видимому, растут из-за ошибок в импорте. Импорт с ошибками для этого файла:

 import android.content.IIntentReceiver;//IIntentReceiver is in red import android.content.pm.IPackageManager;//IPackageManager is in red import android.net.IConnectivityManager;//IConnectivityManager is in red import com.android.internal.app.IVoiceInteractor;//IVoiceInteractor import com.android.org.conscrypt.OpenSSLSocketImpl;//conscrypt is in red import com.android.org.conscrypt.TrustedCertificateStore;//conscrypt is in red import com.google.android.collect.Lists;//google is in red import libcore.io.DropBox;//libcore is in red import libcore.io.EventLogger;//libcore is in red import libcore.io.IoUtils;//libcore is in red import libcore.net.event.NetworkEventDispatcher;//libcore is in red import dalvik.system.CloseGuard;//CloseGuard is in red import dalvik.system.VMDebug;//VMDebug is in red import dalvik.system.VMRuntime;//VMRuntime is in red 

И вот файл манифеста в соответствии с запросом:

 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.user.assignment1" > <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> 

И файл build.gradle:

 apply plugin: 'com.android.application' android { compileSdkVersion 21 buildToolsVersion "21.1.2" defaultConfig { applicationId "com.example.user.assignment1" minSdkVersion 8 targetSdkVersion 21 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:21.0.3' } 

И конструкция градиента для проекта:

 // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcente dependencies { classpath 'com.android.tools.build:gradle:1.0.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { jcenter() } } r() } 

Сначала «Clean» и «Sync Project with Gradle Files». Затем запустите свой код.

Просто удалите папку сборки проекта, затем очистите и запустите приложение. Это сделало трюк для меня.

Ваш пакет, в котором вы определили свою MainActivity, отличается от вашего манифеста. Вы определяете com.example.user.myfirstapp как свой пакет в манифесте и определяете свой MainActivity с относительным путем в манифесте. Таким образом, манифест считает, что ваш MainActivity находится по адресу com.example.user.myfirstapp.MainActivty. Но ваша MainActivity действительно находится в пакете com.example.user.assignment1. Либо вы используете абсолютный путь в манифесте для MainActivity, либо вы меняете пакет.

В Android Studio,

В некоторых случаях из-за версии gradle генерируются подобные ошибки.

Я столкнулся с тем же и переключился с

Classpath 'com.android.tools.build:gradle:2.0.0-beta2'

в

Classpath 'com.android.tools.build:gradle:1.5.0'

В файле build.gradle проекта. И это сработало для меня. На самом деле версия gradle: 2.0.0-beta2 не была стабильной, и может быть какая-то ошибка.

Примечание. Всегда используйте только стабильные версии

У меня была следующая проблема:

 java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available 

Обычно проблема с AndroidManifest.xml , которая не имеет надлежащего имени пакета или активности с целью MAIN, не была определена должным образом. Это легко исправить.

Недавно я столкнулся с этой проблемой и обнаружил, что основная причина заключается в ссылке на проект. Этот проект ссылки ( BaseGameUtils ) каким-то образом имел другую версию google-play-service . Сообщение приходит из путаницы, которая жалуется на jar mismatch , прежде чем logcat показывает выше ошибки. Как-то это консольное сообщение не прекращает компиляцию в конечном итоге. У меня была ошибка времени выполнения. Это стоило мне, как 10 M / Hs.

Это может быть из-за отсутствия файла .class. Убедитесь, что вы определили выходной каталог скомпилированных файлов и попытайтесь снова скомпилировать класс проблем.

Закрыть андроид-студию, удалить «.gradle», «.idea», «gradle» эти 3 папки. А затем открыть студию андроида. Теперь студия создаст новые файлы конфигурации, поэтому приложение будет работать правильно.

  1. Удаление приложения
  2. Перезагрузите телефон
  3. Переустановить приложение

Я сталкиваюсь с такой ошибкой, и решение для меня заключалось в том, чтобы добавить в зависимостях файла gradle (app) «compile» com.android.support:design:25.3.1 »« Это произошло потому, что я начал проект без этих зависимостей А затем я добавил поддержку «карты», которая нуждается в этих зависимостях.

Это может произойти после переименования пакетов и классов. В одном из ваших макетов xml вы можете ссылаться на пользовательский класс внутри тега . К сожалению, этот путь не переименован в Android Studio. Проверьте правильность пути.

Это также может привести к краху настроек Gradle. Попробуйте удалить .gradle и build папки из папки проекта и build папку из папки вашего модуля, перестроить и перезапустить приложение. Удаленная папка будет восстановлена ​​с правильными настройками.