Impossible d'obtenir fournisseur de : ClassNotFoundException

J'ai MyContentProvider dans mon application qui fonctionne très bien lorsque je développer et exécuter en mode de débogage.

<provider android:name=".MyContentProvider"
        android:authorities="com.contactcities"
        android:exported="false">
</provider>

Mais quand je l'exportation de l'application, le télécharger et l'exécuter, il se bloque instantanément :

10-10 18:24:37.682 E/AndroidRuntime(10428): FATAL EXCEPTION: main
10-10 18:24:37.682 E/AndroidRuntime(10428): java.lang.RuntimeException: Unable to get provider com.contactcities.MyContentProvider: java.lang.ClassNotFoundException: com.contactcities.MyContentProvider in loader dalvik.system.PathClassLoader[/system/framework/com.google.android.maps.jar:/data/app/com.contactcities-1.apk]
10-10 18:24:37.682 E/AndroidRuntime(10428): at android.app.ActivityThread.installProvider(ActivityThread.java:4509)
10-10 18:24:37.682 E/AndroidRuntime(10428): at android.app.ActivityThread.installContentProviders(ActivityThread.java:4281)
10-10 18:24:37.682 E/AndroidRuntime(10428): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4237)
10-10 18:24:37.682 E/AndroidRuntime(10428): at android.app.ActivityThread.access$3000(ActivityThread.java:125)
10-10 18:24:37.682 E/AndroidRuntime(10428): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2071)
10-10 18:24:37.682 E/AndroidRuntime(10428): at android.os.Handler.dispatchMessage(Handler.java:99)
10-10 18:24:37.682 E/AndroidRuntime(10428): at android.os.Looper.loop(Looper.java:123)

Je peux le reproduire sur tous mes appareils, 2.2, 4.0, 4.1

J'ai lu à travers de nombreux fils aujourd'hui. Certains d'entre eux de le blâmer, de ProGuard pour cela.
J'ai essayé d'ajouter

-keep public class com.contactcities.MyContentProvider

mais avec pas de chance.

Quand j'ai désactiver proguard, en ne mettant pas proguard.config=proguard.cfg dans mon project.properties. Il donne toujours la même erreur de version. Le débogage est de nouveau bien.
Peut-être que ce n'est pas assez pour désactiver proguard comme ça?

Peut-être l'astuce est qu'il se réfère à maps.jar dans ce crash. Je ne sais pas pourquoi il fait ça

in loader dalvik.system.PathClassLoader[/system/framework/com.google.android.maps.jar

Des indices sera très appréciée

est la fournir situé :com.contactcities.MyContentProvider
quel est le nom du package dans votre manifeste? quel est le paquet sur MyContentProvider?
La référence à maps.jar n'a rien à faire avec elle. C'est juste le classpath que le chargeur de classe. Dans votre cas, le classpath contient l'maps.jar et de toute votre apk.
package="com.contactcities" (le manifeste) com.contactcities.MyContentProvider (l'emplacement du fichier)
Voici ma part de certains idiot conseils. Avez-vous essayé de faire une installation propre de l'application? Avez-vous essayé de modifier les autorités de la "com".contactcities" à quelque chose de plus raisonnable?

OriginalL'auteur AndroidGecko | 2012-10-10