6

Tengo una aplicación, vamos a llamarla 'com.company.foo', con una actividad principal 'FooBar'. En mi AndroidManifest.xml, tengoLa aplicación de Android no se carga en algunos teléfonos en PathClassLoader

<application android:label="@string/app_name" 
      android:icon="@drawable/icon" 
      android:theme="@android:style/Theme.NoTitleBar.Fullscreen" > 
    <activity android:name="FooBar" 
       android:label="@string/app_name" 
       android:configChanges="keyboardHidden|orientation" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
... 
</application> 

(donde los puntos contienen otras actividades dentro de mi aplicación). De esta forma, funciona bien en mi deseo de HTC y en el emulador. Sin embargo, una (muy) pequeño número de personas que descargarse la aplicación desde el informe de mercado de un accidente con

java.lang.RuntimeException: No se puede crear una instancia de la actividad ComponentInfo {com.company.foo/com.company.foo .foobar}: java.lang.ClassNotFoundException: com.company.foo.FooBar en el cargador dalvik.system.PathClassLoader [/mnt/asec/com.company.foo-1/pkg.apk]

Alguien sugirió para reemplazar el android:name="FooBar" con android:name=".FooBar", que de nuevo funciona bien en mi teléfono y el emulador, pero falla en algunos otros dispositivos. Si dejo este atributo por completo, no me dejará instalarlo en absoluto.

¿Alguna idea?

Respuesta

7

Tengo una aplicación publicada en Android Market. Y a veces recibo informes de fallas similares. Parece que no es tu culpa. Esto se puede reproducir si su aplicación está instalada en la tarjeta SD. Expulsa esta tarjeta sin desmontarla y ejecutar tu aplicación.

Se puede encontrar información adicional here.

+1

Ese hilo de hecho parece estar relacionado, aunque hasta el momento nadie parece tener una solución mejor que 'si falla, vuelva a instalar'. Después de lo cual, el problema aún puede regresar en una etapa posterior ... –

+0

No estoy seguro de que pueda solucionarse en la aplicación.Algunos informes de fallas solo están relacionados con los problemas de Android y no tenemos nada que ver con eso. – Michael

0

El código que ha mostrado está bien, no puede ver nada incorrecto con él, entonces, ¿qué más ha mirado?

  1. ¿Ha comprobado el nivel de SDK contra el lanzamiento de Android en los teléfonos que han fallado? ¿Alguna posibilidad de incompatibilidad allí?

  2. Crear una instancia de la actividad que he encontrado a mi costa es un asunto no trivial y hay tantas cosas que pueden salir mal: tendrá que volver a revisar todos sus archivos de soporte y asegurarse de que estén limpios, pero piense sobre incompatibilidades.

  3. No ha mencionado qué importaciones están involucradas. ¿Ha intentado reducir al mínimo su aplicación y sigue causando problemas con esa pequeña cantidad de teléfonos fraudulentos? ¿Tal vez no tiene acceso a los teléfonos?

  4. prueba a publicar las marcas de teléfono/modelos que están causando problemas, también el lugar donde acceder a su aplicación y podría haber alguien aquí con la misma marca/modelo que estaría dispuesto a hacer algunas pruebas para usted

Lo siento, no puedo ser más ayuda,

¡¡Buena suerte !!

Oliver

+0

Todos los puntos buenos, pero no sé en qué marca/modelo de teléfono aparece este problema (solo puedo ver la información limitada en el tablero del mercado). Ciertamente no es el punto 1. –

Cuestiones relacionadas