Users reporting crashes after upgrade on Android Market

by InC » Thu, 30 Oct 2008 09:11:54 GMT


Sponsored Links
 I just upgraded our app after testing it on my phone. However, all the
users are reporting crashes after upgrading to newer versions. I can't
seem to reproduce any crashes. Is there a way to detect what's
happening and a way to debug it.

Any help / pointers appreciated
--~--~---------~--~----~------------~-------~--~----~



Users reporting crashes after upgrade on Android Market

by Kipling Inscore » Thu, 30 Oct 2008 12:14:21 GMT


 You can ask your users to
0.1) Download and install Android SDK 1.0 if not already installed
0.2) Set up device for use with adb (install driver or set up udev rule).
1) Reboot the phone.
2) Run your app immediately (or after as few other apps as needed to
reproduce the crash).
3) run "adb -d bugreport > bugreport.txt" (or equivalent for their
system) after it crashes.
4) email bugreport.txt to you.
This will dump a large amount of data, including the exception that
caused the crash (assuming the app crashed from an exception).
It may be easier, given the nature of this process, to provide your
application to other developers to see if they get the same error and
can send you a bug report.
Perhaps there is or should be an easier way to get and run adb for
this purpose, replacing (0.1) with downloading an adb-based Automated
Bug Reporter automating (0.2), (3) and (4)--leaving only (1) and (2)
to the user, which are relatively simple and Automated Bug Reporter
could prompt the user to do.




--~--~---------~--~----~------------~-------~--~----~


Sponsored Links


Other Threads

1. Save Image

I want to save image after I make the photo with the Camera of the
Emulator......


This is the Code :::: this program makes a photo when you push
space.....but don't save it !!!!!!


public class AppCam extends Activity implements SurfaceHolder.Callback
{
    private static final String TAG = "CameraApiTest";
    Camera mCamera;
    boolean mPreviewRunning = false;

    public void onCreate(Bundle icicle)
    {
        super.onCreate(icicle);

        Log.e(TAG, "onCreate");

        getWindow().setFormat(PixelFormat.TRANSLUCENT);

        setContentView(R.layout.main);
        mSurfaceView = (SurfaceView)findViewById(R.id.surface);

        mSurfaceHolder = mSurfaceView.getHolder();
        mSurfaceHolder.addCallback(this);
        mSurfaceHolder.setType
(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
    }

    public boolean onCreateOptionsMenu(android.view.Menu menu) {
        MenuItem item = menu.add(0, 0, 0, "Gallery");
        item.setOnMenuItemClickListener(new
MenuItem.OnMenuItemClickListener() {
            public boolean onMenuItemClick(MenuItem item) {
                Uri target = Uri.parse("content://media/external/
images/media");
                Intent intent = new Intent(Intent.ACTION_VIEW,
target);
                startActivity(intent);
                return true;
            }
        });
        return true;
    }

    @Override
    protected void onRestoreInstanceState(Bundle savedInstanceState)
    {
        super.onRestoreInstanceState(savedInstanceState);
    }

    Camera.PictureCallback mPictureCallback = new
Camera.PictureCallback() {
        public void onPictureTaken(byte[] data, Camera c) {
            Log.e(TAG, "PICTURE CALLBACK: data.length = " +
data.length);
            mCamera.startPreview();
        }
    };

    public boolean onKeyDown(int keyCode, KeyEvent event)
    {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            return super.onKeyDown(keyCode, event);
        }

        if (keyCode == KeyEvent.KEYCODE_SPACE) {

            mCamera.takePicture(null, null,mPictureCallback);

            mCamera.

            return true;
        }

        return false;
    }

    protected void onResume()
    {
        Log.e(TAG, "onResume");
        super.onResume();
    }

    protected void onSaveInstanceState(Bundle outState)
    {
        super.onSaveInstanceState(outState);
    }

    protected void onStop()
    {
        Log.e(TAG, "onStop");
        super.onStop();
    }

    public void surfaceCreated(SurfaceHolder holder)
    {
        Log.e(TAG, "surfaceCreated");
        mCamera = Camera.open();
        //mCamera.startPreview();
    }

    public void surfaceChanged(SurfaceHolder holder, int format, int
w, int h)
    {
        Log.e(TAG, "surfaceChanged");

        // XXX stopPreview() will crash if preview is not running
        if (mPreviewRunning) {
            mCamera.stopPreview();
        }

        Camera.Parameters p = mCamera.getParameters();
        p.setPreviewSize(w, h);
        mCamera.setParameters(p);
        mCamera.setPreviewDisplay(holder);
        mCamera.startPreview();
        mPreviewRunning = true;
    }

    public void surfaceDestroyed(SurfaceHolder holder)
    {
        Log.e(TAG, "surfaceDestroyed");
        mCamera.stopPreview();
        mPreviewRunning = false;
        mCamera.release();
    }

    private SurfaceView mSurfaceView;
    private SurfaceHolder mSurfaceHolder;
}
--~--~---------~--~----~------------~-------~--~----~

2. Google I/O dates?

While puttering around teh Intarwebs, I found:

http://upcoming.yahoo.com/event/1424682/

which pegs Google I/O as being May 27-28 2009 at Moscone in SanFran.

Wikipedia is reporting the same dates. Curiously, the Wikipedia edit was
made in late November.

The Google I/O site is still stuck on 2008.

Has there been an official announcement of the 2009 dates? Or any sort
of authoritative confirmation?

-- 
Mark Murphy (a Commons Guy)
http://commonsware.com
Android Training in Sweden -- http://www.sotrium.com/training.php

--~--~---------~--~----~------------~-------~--~----~

3. FYI easy high quality video encoding for android

4. Keyboard Input

5. Sending Multipart SMS

6. network defaultroute

7. Issue while compiling Multimedia Acclerated code in Android