Intereting Posts
Как отправлять сообщения электронной почты из приложения Android? Формат командной игры между контроллером bluetooth и консолью Устанавливать значок запуска на главном экране один раз Обнаруживать, если я в режиме выпуска или отладки в android Почему Android использует концепцию Java вместо языка D или C или C ++? Но веб-браузер Chromium находится на C ++, его очень сложное совпадение Когда лучше не использовать Phonegap? Logcat не может обнаружить имена приложений или пакетов ListView OnItemClickListener не отвечает? AUDIOFOCUS_LOSS вызывается после телефонного звонка в android NullPointerException в SearchView с помощью AppCompat в Android 5.0 Spacing Issue при создании макета шины в режиме ресайклера Gridlayout manager Что будет делать SQLiteCursor, если столбец null? Offline maps SDK для Android и iOS Колыбель кинжала: игнорировать по упаковке Как уменьшить размер пользовательского кода для приложения Xamarin Forms в Visual Studio 2015?

Android Не удалось создать экземпляр активности: не нашел класс на пути

Я импортировал проект в eclipse, и когда я пытаюсь его запустить, это исключение:

java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.polygraf/com.polygraf.activity.Dashboard}: java.lang.ClassNotFoundException: Didn't find class "com.polygraf.activity.Dashboard" on path: /data/app/com.polygraf-1.apk

Я попытался очистить проект, а затем проверить, все ли имена классов и манифест в порядке, но все равно не может найти, почему это происходит. Вы можете мне немного помочь?

Класс Дашбарда:

 public class Dashboard extends FragmentActivity { private static final String WELCOME_TYPE = "WELCOME_TYPE"; private static final String HELP_TYPE = "HELP_TYPE"; public static final String ADRESS_CONTENT = "ADRESS_CONTENT"; public static final String DOC_NAME = "DOC_NAME"; private Transcript mContent; private ISettableContent mListOfDocument; private String mAddress; private String mDocName; public Dashboard() { } /** Called with the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.dashboard); boolean content = false; // View gc = (NoSaveStateFrameLayout) // findViewById(R.id.content_fragment); // Fragment frContent = getSupportFragmentManager().findFragmentById(R.id.content_fragment); mContent = ((IGetContent) frContent).getContent(); TranscriptSetting cc = Polygraf.getInstance().getContentSetting(); Fragment frDocumentsList = getSupportFragmentManager().findFragmentById(R.id.documents); mListOfDocument = (ISettableContent) frDocumentsList; cc.registerContent(mListOfDocument); if (getIntent().hasExtra(ADRESS_CONTENT)) { mAddress = getIntent().getStringExtra(ADRESS_CONTENT); mDocName = getIntent().getStringExtra(DOC_NAME); mContent.setAddress(mAddress, mDocName); content = true; } else if (getIntent().hasExtra(WELCOME_TYPE)) { content = true; prepareVisibilityBtnTranscript(); } else if (getIntent().hasExtra(HELP_TYPE)) { content = true; mContent.showHelp(); } if (content) { FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ft.hide(frDocumentsList); ft.commit(); // because on diferent layouts for small and large device // some views missing, so the test is inportant View contentLayout = findViewById(R.id.contentLayout); if (contentLayout != null) { contentLayout.setVisibility(View.VISIBLE); } prepareVisibilityBtnWelcome(); // cp.setContent(mContent); } cc.registerContent(mContent); // cp.setListener(cc); } . . . } 

И файл манифеста:

 <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="17" /> <application android:name=".Polygraf" android:allowBackup="true" android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/skeleton_app" android:theme="@android:style/Theme.Black.NoTitleBar" > <activity android:name="com.polygraf.activity.Dashboard" android:configChanges="orientation|keyboard" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <!-- This places this activity into the main app list. --> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.polygraf.activity.SettingActivity" android:label="@string/skeleton_app" /> <activity android:name="com.polygraf.activity.ContentActivity" android:label="@string/skeleton_app" > </activity> <activity android:name="com.polygraf.activity.PlayVideo" android:configChanges="orientation|keyboard" android:label="@string/skeleton_app" /> </application> 

Solutions Collecting From Web of "Android Не удалось создать экземпляр активности: не нашел класс на пути"

Я полагаю, вы используете Eclipse. Ваша деятельность там в порядке, но Eclipse не включил пакет поддержки в APK … Если вы посмотрите выше своей ошибки в stacktrace, вы заметите корень своей проблемы: « Unable to find FragmentActivity ». Или вы можете распаковать apk, undex it, и вы увидите, что классы пакета совместимости не были включены.

Чтобы исправить это, щелкните правой кнопкой мыши свой проект, свойства, путь сборки и перейдите на вкладку экспорта. Там убедитесь, что « Android private libraries » отмечены. Чистый и перестроенный должен поставить вас на путь …

После того, как я потратил некоторое время на эту проблему, решение, которое я нашел, представляет собой конфликт между импортом Properties> Android – appcompat_v7 и appcompat_v4, который был добавлен в папку libs. После удаления appcompat_v4 ошибка больше не появляется. Надеюсь, что ответ может помочь кому-то в будущем.

Вы должны импортировать новый appcompat_v7 из sdk и использовать его как встроенный путь, он работает для меня.