Android No se puede instanciar la actividad: No encontró la clase en el path
He importado el proyecto en eclipse y cuando intento ejecutarlo, entonces esta excepción se lanza:
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
- Ejecutar javascript función de java
- Comunicación asíncrona entre Javascript y Phonegap Plugin
- Paradas de servicio de Android
- Cómo mostrar las fuentes de idioma Sindhi
- Hacer que el emulador de android por defecto sea más rápido
He intentado limpiar el proyecto, a continuación, comprobar si todos los nombres de clase y manifiesto están bien, pero todavía no puede encontrar por qué sucede esto. ¿Puedes ayudarme un poco, por favor?
Clase Dashbard:
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); } . . . }
Y archivo de manifiesto:
<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>
- No se puede emitir a una clase extendida en Java
- Forzar subclases para establecer una variable en java
- Cambiar el nombre de la aplicación en Eclipse
- El valor del tipo org.json.JSONArray no se puede convertir en JSONObject
- IText Android - Añadir texto a PDF existente
- Siempre ejecutando proguard antes de Android dex'ing en Eclipse
- Capa de acceso a datos para Android
- Cómo utilizar los componentes de la arquitectura ViewModel dentro de RecyclerView Adapter?
Supongo que estás usando Eclipse. Su actividad está bien, pero Eclipse no incluyó el paquete de soporte en el APK … Si observa por encima de su error en stacktrace, notará la raíz de su problema: " Unable to find FragmentActivity
". O puede descomprimir el apk, descomprimirlo y verá que las clases de paquete de compatibilidad no estaban incluidas.
Para corregir esto, haga clic con el botón derecho en el proyecto, las propiedades, la ruta de construcción y vaya a la pestaña de exportación. Asegúrese de que " Android private libraries
" estén marcadas. Una limpieza y reconstrucción debe ponerle en el camino …
Después de pasar un tiempo en este problema, la solución que encontré es un conflicto entre la importación de Propiedades> Android – appcompat_v7 y appcompat_v4 que se añadió en la carpeta libs. Después de quitar el appcompat_v4 el error ya no aparece. Espero que la respuesta pueda ayudar en el futuro a alguien.
Usted debe importar nuevo appcompat_v7 de sdk y utilizarlo como una ruta de acceso construida, funciona para mí.
- ¿Por qué las vistas secundarias heredan el valor alfa del diseño de los padres?
- Problemas con el idioma del título de la actividad