IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Imp. lancer application depuis passage à Lolli 5.0.1 (TAG: Android Runtime, RessourceNotFound R.0x0 Activity)


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    En recherche active de poste de développeur Android
    Inscrit en
    Février 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : En recherche active de poste de développeur Android

    Informations forums :
    Inscription : Février 2015
    Messages : 14
    Par défaut Imp. lancer application depuis passage à Lolli 5.0.1 (TAG: Android Runtime, RessourceNotFound R.0x0 Activity)
    Bonjour à tous,

    Avant tout sachez que j'ai bien regardé sur le net.

    Mon problème étant lié au moteur applicatif ART, venant supplanter Dalvik depuis lollipop, il est récent et je ne trouves pas de cas similaires.
    J'espère que quelqu'un pourra m'aider ici, en tout cas merci à ceux qui me liront, je vais essayer d'être le plus clair et abouti possible.

    J'ai une application que j'ai développé en parti.
    Celle si fonctionne bien et a toujours bien fonctionné sur Android < 5.0 et sous différents mobiles (Nexus 5 (mon téléphone), Galaxy S4, S4 mini, Note 2,3, LG G2, G3, Xperia Z).

    Depuis peu j'ai passé mon Nexus 5 sous 5.0.1.

    Au lancement l'application plante.

    Le logcat me donne:

    02-12 03:28:10.856: E/AndroidRuntime(20458): FATAL EXCEPTION: main
    02-12 03:28:10.856: E/AndroidRuntime(20458): java.lang.RuntimeException: Unable to start activity ComponentInfo{monAppli.ui.activities.news.NewsListActivity}: android.content.res.Resources$NotFoundException: Resource ID #0x0
    (...)
    02-12 03:28:10.856: E/AndroidRuntime(20458): Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x0


    C'est donc le lancement de mon Activity qui plante comme si R. ne connaissait pas ma ClasseActivity (en l'occurance ici NewsListActivity).
    J'ai déjà effectué un project clean et une suppression de R. ce qui n'a rien changé.

    Le problème ne vient pas non plus de ma ClasseActivity parce que j'ai essayé de démarrer sur une autre Activity ca me met la même erreur.

    Le même code run sur une avd (machine virtuelle) en 4.4 fonctionne très bien, et sur une 5.0 bug de la même façon. Ce n'est donc pas mon N5 Rom custom qui est incriminable.


    Merci pour votre précieuse aide !

  2. #2
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Par défaut
    Y a-t-il d'autres informations intéressantes dans la trace complète ?

    Je n'ai pas encore entendu parler de ce problème lié à ART (plutôt des problèmes de Webview lié à libwebviewchromium.so). Là où je bosse, personne n'a eu ce problème non plus. Peut-être est-ce lié aux outils de build ?
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  3. #3
    Membre habitué
    Homme Profil pro
    En recherche active de poste de développeur Android
    Inscrit en
    Février 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : En recherche active de poste de développeur Android

    Informations forums :
    Inscription : Février 2015
    Messages : 14
    Par défaut
    Salut,

    Déjà merci beaucoup de t'intéresser à mon problème.

    Non la trace n'est pas beaucoup plus importante que cela, et ca dis la même chose pour une autre ClasseActivity.

    Voici la trace complète:

    02-12 11:26:09.370: E/AndroidRuntime(2130): FATAL EXCEPTION: main
    02-12 11:26:09.370: E/AndroidRuntime(2130): Process: monApply, PID: 2130
    02-12 11:26:09.370: E/AndroidRuntime(2130): java.lang.RuntimeException: Unable to start activity ComponentInfo{monApply/monApply.ui.activities.news.NewsListActivity}: android.content.res.Resources$NotFoundException: Resource ID #0x0
    02-12 11:26:09.370: E/AndroidRuntime(2130): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)
    02-12 11:26:09.370: E/AndroidRuntime(2130): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
    02-12 11:26:09.370: E/AndroidRuntime(2130): at android.app.ActivityThread.access$800(ActivityThread.java:144)
    02-12 11:26:09.370: E/AndroidRuntime(2130): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
    02-12 11:26:09.370: E/AndroidRuntime(2130): at android.os.Handler.dispatchMessage(Handler.java:102)
    02-12 11:26:09.370: E/AndroidRuntime(2130): at android.os.Looper.loop(Looper.java:135)
    02-12 11:26:09.370: E/AndroidRuntime(2130): at android.app.ActivityThread.main(ActivityThread.java:5221)
    02-12 11:26:09.370: E/AndroidRuntime(2130): at java.lang.reflect.Method.invoke(Native Method)
    02-12 11:26:09.370: E/AndroidRuntime(2130): at java.lang.reflect.Method.invoke(Method.java:372)
    02-12 11:26:09.370: E/AndroidRuntime(2130): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
    02-12 11:26:09.370: E/AndroidRuntime(2130): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
    02-12 11:26:09.370: E/AndroidRuntime(2130): Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x0
    02-12 11:26:09.370: E/AndroidRuntime(2130): at android.content.res.Resources.getValue(Resources.java:1233)
    02-12 11:26:09.370: E/AndroidRuntime(2130): at android.content.res.Resources.getDrawable(Resources.java:756)
    02-12 11:26:09.370: E/AndroidRuntime(2130): at android.content.res.Resources.getDrawable(Resources.java:724)
    02-12 11:26:09.370: E/AndroidRuntime(2130): at monApply.ui.activities.base.BaseActivity.forceGlowEffectColor(BaseActivity.java:447)
    02-12 11:26:09.370: E/AndroidRuntime(2130): at monApply.ui.activities.base.BaseActivity.onCreate(BaseActivity.java:105)
    02-12 11:26:09.370: E/AndroidRuntime(2130): at monApply.ui.activities.news.NewsListActivity.onCreate(NewsListActivity.java:61)
    02-12 11:26:09.370: E/AndroidRuntime(2130): at android.app.Activity.performCreate(Activity.java:5933)
    02-12 11:26:09.370: E/AndroidRuntime(2130): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
    02-12 11:26:09.370: E/AndroidRuntime(2130): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
    02-12 11:26:09.370: E/AndroidRuntime(2130): ... 10 more


    Sinon concernant le build c'est le build par défaut sous eclipse. Je ne me suis jamais intéressé au build.
    Puis-je le changer, y'a-t-il un intérêt (je veux bien essayer en tout cas)? Comment? Par lequel?
    Mais comme je l'ai déjà dis l'appli fonctionne bien sous 4.4 donc pour moi c'est plutôt lié à ART, je vais faire une avd 4.4 et mettre ART pour confirmer cette hypothèse.


    Merci en tout ca!

  4. #4
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Par défaut
    La ligne 447 de BaseActivity, à quoi correspond-elle ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    at monApply.ui.activities.base.BaseActivity.forceGlowEffectColor(BaseActivity.java:447)
    Dans ton build.gradle, cibles-tu bien Lolipop ? La trace + ton erreur me font penser à une ressource disponible jusqu'en Kitkat et supprimée ensuite. Utilises-tu des API cachées ?
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  5. #5
    Membre habitué
    Homme Profil pro
    En recherche active de poste de développeur Android
    Inscrit en
    Février 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : En recherche active de poste de développeur Android

    Informations forums :
    Inscription : Février 2015
    Messages : 14
    Par défaut
    La ligne 447 correspond à
    Drawable androidGlow = context.getResources().getDrawable(glowDrawableId);
    et
    int glowDrawableId = context.getResources().getIdentifier("overscroll_glow", "drawable", "android");


    Sinon je n'avais pas de build.gradle je viens de le générer, ne connaissant rien en build encore moi gradle je te fournit ce qu'il y a dedans.

    apply plugin: 'android'

    dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile project(':android-sdks:extrasgoogle_play_services:libproject:google-play-services_lib')
    }

    android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    sourceSets {
    main {
    manifest.srcFile 'AndroidManifest.xml'
    java.srcDirs = ['src']
    resources.srcDirs = ['src']
    aidl.srcDirs = ['src']
    renderscript.srcDirs = ['src']
    res.srcDirs = ['res']
    assets.srcDirs = ['assets']
    }

    // Move the tests to tests/java, tests/res, etc...
    instrumentTest.setRoot('tests')

    // Move the build types to build-types/<type>
    // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
    // This moves them out of them default location under src/<type>/... which would
    // conflict with src/ being used by the main source set.
    // Adding new build types or product flavors should be accompanied
    // by a similar customization.
    debug.setRoot('build-types/debug')
    release.setRoot('build-types/release')
    }
    }

    Qu'est-ce qu'une API caché? A ma connaissance il n'y a pas d'API cachés, toutes les API utilisés sont visibles..

  6. #6
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    Non, mais glowDrawableId vaut 0 c'est tout.

    D'après la doc de getIdentifer:
    int The associated resource identifier. Returns 0 if no such resource was found. (0 is not a valid resource ID.)


    Pas sur que la ressource (drawable) "overscroll_glow" existe encore dans le package "android".

    La "règle" sur l'utilisation des ressources système est de:
    * ou passer par un style / theme
    * ou bien copier la ressource dans le projet.


  7. #7
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Par défaut
    Pas de build.gradle ?

    Tu utilises Eclipse et l'ancienne ligne de compilation alors ? Maven ?

    Bon, tu utilises bien une API cachée :p
    De ce que je trouve, la propriété "overscroll_glow" est surtout utilisée pour un hack de ListView, celle-ci ne permettant pas de customiser les couleurs pour le scroll dépassant (i.e. : "trop bas" et "trop haut") la ListView.

    Lorsque tu tentes d'accéder à des propriétés Android pure (ici android:drawable/overscroll_glow) par réflexivité, tu utilises des API cachées d'Android. Cachée car il faut "ruser" ou passer par des chemins non conventionnels pour y accéder.
    Concernant celle-ci, il n'y a aucune garantie qu'elles restent toujours accessible, ce que tu expérimentes actuellement.

    Avec Lollipop vient une profonde refonte graphique des thèmes Android (material design), ça ne me surprend donc pas que cette propriété ait été supprimée.

    De mes recherches, un simple
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <style name="MyAppTheme" parent="***">
       <item name="android:colorEdgeEffect">@color/my_color</item>
    </style>
    suffirait (attention à l'adapter ).

    Avec le material design, le glow de l'overscroll hérite de la primaryColor du thème, il est donc plus facile de l'adapter.

    Fais un thème particulier pour les Lolipop+ et encadre ton hack de ListView d'un test de version et ça devrait le faire.

    EDIT : le temps que je réponde... un message avant et un message après xD
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Pb de couleur dans l'application, depuis passage sur XE5
    Par Annaced dans le forum Composants VCL
    Réponses: 2
    Dernier message: 23/01/2014, 13h43
  2. Ma popup fige mon application depuis passage WM12 à WM17
    Par juju1988 dans le forum Windev Mobile
    Réponses: 1
    Dernier message: 06/01/2012, 16h57
  3. Réponses: 3
    Dernier message: 31/08/2008, 16h33
  4. [VB.NET]Lancer une application depuis MonProg
    Par PM_calou dans le forum Windows Forms
    Réponses: 3
    Dernier message: 27/09/2006, 11h42
  5. Réponses: 5
    Dernier message: 06/07/2006, 10h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo