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 :

Application qui plante au lancement (ok sur l'émulateur)


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 422
    Par défaut Application qui plante au lancement (ok sur l'émulateur)
    Bonjour,

    Comme dit dans une précédente discussion, je suis débutant sur android donc soyez indulgent

    Alors, mon soucis est que mon appli se lance bien sur l'émulateur eclipse mais plante lorsque je tente de l'installer sur mon phone (nexus s, v.2.3.6).

    Je précise qu'il s'agit d'une appli qui utilise une surfaceView pour faire apparaitre la preview de la camera.

    Je run l'application en précisant comme target mon téléphone et là, dès le début, j'ai une alerte : "Désolé, fermeture soudaine de l'application ...".

    Bizarrement, les logcats sont vides et RAS du coté de la console

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    [2011-11-28 22:01:34 - ProjectTestAndroid] ------------------------------
    [2011-11-28 22:01:34 - ProjectTestAndroid] Android Launch!
    [2011-11-28 22:01:34 - ProjectTestAndroid] adb is running normally.
    [2011-11-28 22:01:34 - ProjectTestAndroid] Performing com.android.projecttestandroid.ProjectTestAndroidActivity activity launch
    [2011-11-28 22:01:38 - ProjectTestAndroid] Uploading ProjectTestAndroid.apk onto device '3534A45B0D7900EC'
    [2011-11-28 22:01:38 - ProjectTestAndroid] Installing ProjectTestAndroid.apk...
    [2011-11-28 22:01:39 - ProjectTestAndroid] Success!
    [2011-11-28 22:01:39 - ProjectTestAndroid] Starting activity com.android.projecttestandroid.ProjectTestAndroidActivity on device 3534A45B0D7900EC
    [2011-11-28 22:01:39 - ProjectTestAndroid] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.android.projecttestandroid/.ProjectTestAndroidActivity }
    Et l'alerte apparait.

    Je remarque aussi que mon projet est en 2.3.3, est-ce du à ça ?

    Merci pour votre aide

    PS : je viens de réussir à récupérer certain logcats et voici ce que cela donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    11-28 22:48:58.199: D/dalvikvm(17175): GC_EXPLICIT freed 15K, 50% free 2717K/5379K, external 1625K/2137K, paused 85ms
    11-28 22:49:05.097: D/dalvikvm(17182): GC_EXPLICIT freed 21K, 49% free 3025K/5895K, external 1625K/2137K, paused 27ms
    11-28 22:49:10.164: D/dalvikvm(16640): GC_EXPLICIT freed 279K, 47% free 3800K/7111K, external 1625K/2137K, paused 87ms
    11-28 22:49:12.972: D/AndroidRuntime(18056): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
    11-28 22:49:12.972: D/AndroidRuntime(18056): CheckJNI is OFF
    11-28 22:49:12.972: D/dalvikvm(18056): creating instr width table
    11-28 22:49:13.109: D/AndroidRuntime(18056): Calling main entry com.android.commands.pm.Pm
    11-28 22:49:13.113: D/AndroidRuntime(18056): Shutting down VM
    11-28 22:49:13.117: D/dalvikvm(18056): GC_CONCURRENT freed 101K, 71% free 298K/1024K, external 0K/0K, paused 1ms+0ms
    11-28 22:49:13.117: D/dalvikvm(18056): Debugger has detached; object registry had 1 entries
    11-28 22:49:13.121: I/AndroidRuntime(18056): NOTE: attach of thread 'Binder Thread #1' failed
    11-28 22:49:13.242: D/AndroidRuntime(18064): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
    11-28 22:49:13.242: D/AndroidRuntime(18064): CheckJNI is OFF
    11-28 22:49:13.242: D/dalvikvm(18064): creating instr width table
    11-28 22:49:13.386: D/AndroidRuntime(18064): Calling main entry com.android.commands.am.Am
    11-28 22:49:13.394: I/ActivityManager(105): Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.android.projecttestandroid/.ProjectTestAndroidActivity } from pid 18064
    11-28 22:49:13.410: D/AndroidRuntime(18064): Shutting down VM
    11-28 22:49:13.410: I/ActivityManager(105): Start proc com.android.projecttestandroid for activity com.android.projecttestandroid/.ProjectTestAndroidActivity: pid=18072 uid=10065 gids={1006}
    11-28 22:49:13.421: D/dalvikvm(18064): GC_CONCURRENT freed 103K, 69% free 320K/1024K, external 0K/0K, paused 0ms+6ms
    11-28 22:49:13.433: D/dalvikvm(18064): Debugger has detached; object registry had 1 entries
    11-28 22:49:13.441: I/AndroidRuntime(18064): NOTE: attach of thread 'Binder Thread #2' failed
    11-28 22:49:13.484: D/dalvikvm(18072): Debugger has detached; object registry had 1 entries
    11-28 22:49:13.539: V/RenderScript_jni(186): surfaceDestroyed
    11-28 22:49:13.605: E/SecCamera(75): initCamera: m_cam_fd(15), m_jpeg_fd(0)
    11-28 22:49:13.605: I/SecCamera(75): Name of input channel[0] is S5K4ECGX
    11-28 22:49:13.609: E/SecCamera(75): initCamera: m_cam_fd2(21)
    11-28 22:49:13.609: I/SecCamera(75): Name of input channel[0] is S5K4ECGX
    11-28 22:49:13.613: I/SecCamera(75): Name of input channel[0] is S5K4ECGX
    11-28 22:49:13.617: I/StagefrightPlayer(75): setDataSource('/system/media/audio/ui/camera_click.ogg')
    11-28 22:49:13.624: I/CameraHardwareSec(75): int android::CameraHardwareSec::previewThreadWrapper(): starting
    11-28 22:49:13.624: I/CameraHardwareSec(75): int android::CameraHardwareSec::previewThreadWrapper(): calling mSecCamera->stopPreview() and waiting
    11-28 22:49:13.624: W/SecCamera(75): int android::SecCamera::stopPreview(): doing nothing because m_flag_camera_start is zero
    11-28 22:49:13.624: I/StagefrightPlayer(75): setDataSource('/system/media/audio/ui/VideoRecord.ogg')
    11-28 22:49:13.636: I/CameraHardwareSec(75): virtual void android::CameraHardwareSec::stopPreview() : preview not running, doing nothing
    11-28 22:49:13.640: E/CameraHardwareSec(75): virtual android::status_t android::CameraHardwareSec::setParameters(const android::CameraParameters&): Invalid preview size(480x660)
    11-28 22:49:13.644: D/AndroidRuntime(18072): Shutting down VM
    11-28 22:49:13.644: W/dalvikvm(18072): threadid=1: thread exiting with uncaught exception (group=0x40015560)
    11-28 22:49:13.656: E/AndroidRuntime(18072): FATAL EXCEPTION: main
    11-28 22:49:13.656: E/AndroidRuntime(18072): java.lang.RuntimeException: setParameters failed
    11-28 22:49:13.656: E/AndroidRuntime(18072): 	at android.hardware.Camera.native_setParameters(Native Method)
    11-28 22:49:13.656: E/AndroidRuntime(18072): 	at android.hardware.Camera.setParameters(Camera.java:914)
    11-28 22:49:13.656: E/AndroidRuntime(18072): 	at com.android.projecttestandroid.ProjectTestAndroidActivity.surfaceChanged(ProjectTestAndroidActivity.java:123)
    11-28 22:49:13.656: E/AndroidRuntime(18072): 	at android.view.SurfaceView.updateWindow(SurfaceView.java:549)
    11-28 22:49:13.656: E/AndroidRuntime(18072): 	at android.view.SurfaceView.dispatchDraw(SurfaceView.java:348)
    11-28 22:49:13.656: E/AndroidRuntime(18072): 	at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
    11-28 22:49:13.656: E/AndroidRuntime(18072): 	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
    11-28 22:49:13.656: E/AndroidRuntime(18072): 	at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
    11-28 22:49:13.656: E/AndroidRuntime(18072): 	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
    11-28 22:49:13.656: E/AndroidRuntime(18072): 	at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
    11-28 22:49:13.656: E/AndroidRuntime(18072): 	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
    11-28 22:49:13.656: E/AndroidRuntime(18072): 	at android.view.View.draw(View.java:6883)
    11-28 22:49:13.656: E/AndroidRuntime(18072): 	at android.widget.FrameLayout.draw(FrameLayout.java:357)
    11-28 22:49:13.656: E/AndroidRuntime(18072): 	at android.view.ViewGroup.drawChild(ViewGroup.java:1646)
    11-28 22:49:13.656: E/AndroidRuntime(18072): 	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
    11-28 22:49:13.656: E/AndroidRuntime(18072): 	at android.view.ViewGroup.drawChild(ViewGroup.java:1644)
    11-28 22:49:13.656: E/AndroidRuntime(18072): 	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1373)
    11-28 22:49:13.656: E/AndroidRuntime(18072): 	at android.view.View.draw(View.java:6883)
    11-28 22:49:13.656: E/AndroidRuntime(18072): 	at android.widget.FrameLayout.draw(FrameLayout.java:357)
    11-28 22:49:13.656: E/AndroidRuntime(18072): 	at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:1862)
    11-28 22:49:13.656: E/AndroidRuntime(18072): 	at android.view.ViewRoot.draw(ViewRoot.java:1522)
    11-28 22:49:13.656: E/AndroidRuntime(18072): 	at android.view.ViewRoot.performTraversals(ViewRoot.java:1258)
    11-28 22:49:13.656: E/AndroidRuntime(18072): 	at android.view.ViewRoot.handleMessage(ViewRoot.java:1859)
    11-28 22:49:13.656: E/AndroidRuntime(18072): 	at android.os.Handler.dispatchMessage(Handler.java:99)
    11-28 22:49:13.656: E/AndroidRuntime(18072): 	at android.os.Looper.loop(Looper.java:130)
    11-28 22:49:13.656: E/AndroidRuntime(18072): 	at android.app.ActivityThread.main(ActivityThread.java:3683)
    11-28 22:49:13.656: E/AndroidRuntime(18072): 	at java.lang.reflect.Method.invokeNative(Native Method)
    11-28 22:49:13.656: E/AndroidRuntime(18072): 	at java.lang.reflect.Method.invoke(Method.java:507)
    11-28 22:49:13.656: E/AndroidRuntime(18072): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
    11-28 22:49:13.656: E/AndroidRuntime(18072): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
    11-28 22:49:13.656: E/AndroidRuntime(18072): 	at dalvik.system.NativeStart.main(Native Method)
    11-28 22:49:13.660: W/ActivityManager(105):   Force finishing activity com.android.projecttestandroid/.ProjectTestAndroidActivity
    11-28 22:49:14.164: W/ActivityManager(105): Activity pause timeout for HistoryRecord{4078f878 com.android.projecttestandroid/.ProjectTestAndroidActivity}
    11-28 22:49:14.183: V/RenderScript_jni(186): surfaceCreated
    11-28 22:49:14.183: V/RenderScript_jni(186): surfaceChanged
    11-28 22:49:14.374: I/ActivityManager(105): No longer want com.android.packageinstaller (pid 17454): hidden #16
    11-28 22:49:19.640: D/dalvikvm(16880): GC_EXPLICIT freed 96K, 49% free 3720K/7175K, external 1625K/2137K, paused 62ms
    11-28 22:49:24.374: W/ActivityManager(105): Activity destroy timeout for HistoryRecord{4078f878 com.android.projecttestandroid/.ProjectTestAndroidActivity}
    11-28 22:49:30.671: D/dalvikvm(17951): GC_EXPLICIT freed 180K, 49% free 2927K/5703K, external 1625K/2137K, paused 26ms
    11-28 22:50:30.753: D/dalvikvm(16880): GC_EXPLICIT freed 14K, 49% free 3719K/7175K, external 1625K/2137K, paused 34ms

  2. #2
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour,

    11-28 22:49:13.644: W/dalvikvm(18072): threadid=1: thread exiting with uncaught exception (group=0x40015560)
    11-28 22:49:13.656: E/AndroidRuntime(18072): FATAL EXCEPTION: main
    11-28 22:49:13.656: E/AndroidRuntime(18072): java.lang.RuntimeException: setParameters failed
    11-28 22:49:13.656: E/AndroidRuntime(18072): at android.hardware.Camera.native_setParameters(Native Method)
    11-28 22:49:13.656: E/AndroidRuntime(18072): at android.hardware.Camera.setParameters(Camera.java:914)
    11-28 22:49:13.656: E/AndroidRuntime(18072): at com.android.projecttestandroid.ProjectTestAndroidActivity.surfaceChanged(ProjectTestAndroidActivity.java:123)
    Ben vu l'erreur, je dirais que dans ta classe ProjectTestAndroidActivity lors de l'initialisation de ta Caméra, il y a une erreur dans les paramètres...

    virtual android::status_t android::CameraHardwareSec::setParameters(const android::CameraParameters&): Invalid preview size(480x660)
    Et je pense fortement que sur un téléphone la taille 480x660 est un problème . Je pencherais plus pour du 640x480 .

    Pour avoir les sizes supporter par le téléphone :
    http://developer.android.com/referen...PreviewSizes()

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 422
    Par défaut
    Citation Envoyé par Feanorin Voir le message

    Et je pense fortement que sur un téléphone la taille 480x660 est un problème . Je pencherais plus pour du 640x480 .
    Merci de ta réponse. Le soucis est que je ne sais pas ou est-ce que je dois configurer cette taille ? (désolé de ma question naive )


  4. #4
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Tu peux nous montrer un peu de ton code surtout le ProjectTestAndroidActivity ?

    Merci.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 422
    Par défaut
    Ok j'ai trouvé la solution mais j'ai encore besoin de votre aide

    En fait, il fallait spécifier des paramètres acceptables pour ma bécane.

    Voici mon ancien code qui faisait planté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    public void surfaceChanged(SurfaceHolder holder, int format, int width,
    			int height) {
    		if (camera != null) {
    			camera.stopPreview();
    			Camera.Parameters p = this.camera.getParameters();
    			p.setPreviewSize(width, height);
    			camera.setParameters(p);
    			try {
    				this.camera.setPreviewDisplay(holder);
    				this.camera.startPreview();
    			} catch (IOException e) {
    				Log.e(LOG_TAG_VIDEO_PREVIEW,
    						"Erreur E/S lors du setPreviewDisplay sur l'objet Camera",
    						e);
    			}
    		}
    	}
    Et maintenant le nouveau qui fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    public void surfaceChanged(SurfaceHolder holder, int format, int width,
    			int height) {
    		if (camera != null) {
    			camera.stopPreview();
    			Camera.Parameters p = this.camera.getParameters();
     
    			List<Camera.Size> previewSizes = p.getSupportedPreviewSizes();
     
    		    // You need to choose the most appropriate previewSize for your app
    		    Camera.Size previewSize = previewSizes.get(0);// .... select one of previewSizes here
     
    		    p.setPreviewSize(previewSize.width, previewSize.height);
    		    //p.setPreviewSize(width, height);
     
    			camera.setParameters(p);
    			try {
    				this.camera.setPreviewDisplay(holder);
    				this.camera.startPreview();
    			} catch (IOException e) {
    				Log.e(LOG_TAG_VIDEO_PREVIEW,
    						"Erreur E/S lors du setPreviewDisplay sur l'objet Camera",
    						e);
    			}
    		}
    	}
    Avec ce code, mon applic se lance et ma preview s’affiche bien. MAIS ...


    Le soucis avec ça c'est que :

    1- Quand je tiens mon téléphone verticalement, la preview est horizontale et inversement (j'ai oublié de configurer quelque chose peut-être ? Pour info, je voudrai bloquer en verticale, si possible)

    2- Par défaut, j'ai choisit la première valeur ( previewSizes.get(0)) mais comment sélectionner une valeur sensé fonctionner sur toutes sortes de téléphones ?

  6. #6
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    1- Quand je tiens mon téléphone verticalement, la preview est horizontale et inversement (j'ai oublié de configurer quelque chose peut-être ? Pour info, je voudrai bloquer en verticale, si possible)
    Pour le bloquer cela se fait dans le manifest via la propriété screenOrientation et configChanges , http://developer.android.com/guide/t...nt.html#config

    Pour la Caméra tu as un paramètres orientation à toi de jouer dessus pour avoir l'image dans le sens que tu souhaites .

    2- Par défaut, j'ai choisit la première valeur ( previewSizes.get(0)) mais comment sélectionner une valeur sensé fonctionner sur toutes sortes de téléphones ?
    héhé,
    Tu as une première idée ici .
    http://developer.android.com/resourc...raPreview.html

Discussions similaires

  1. Application qui plante (quitter, click sur listeView)
    Par jonathantarabbia dans le forum Android
    Réponses: 20
    Dernier message: 17/01/2011, 13h36
  2. [WD15] Application qui plante uniquement sur un poste
    Par mik3.42 dans le forum WinDev
    Réponses: 3
    Dernier message: 09/04/2010, 09h38
  3. Thread et application qui plante
    Par Balbuzard dans le forum Général Java
    Réponses: 10
    Dernier message: 29/08/2008, 16h36
  4. Application qui plante à cause des tabs ?
    Par astrolus dans le forum Windows Forms
    Réponses: 1
    Dernier message: 02/05/2008, 22h54
  5. Application qui plante quand lancé par sans débugage
    Par bossun dans le forum Général Dotnet
    Réponses: 9
    Dernier message: 12/07/2007, 12h08

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