Tips for finding the cause of the boot drop

Asked 2 years ago, Updated 2 years ago, 168 views

There is an app that has been created on Android Studio, converted into Apk, and uploaded to the Google Play Store for about a month.If you look at the recent review section, you can see a lot of users saying, "If you install it and start it, it will fall off."Even if I compile and test the application with a real machine or emulator, I don't have any problems.Is there any way (tip) to find out what the problem is in these cases?

java android debugging

2022-09-29 22:27

2 Answers

It depends on the genre of the app, but I will write down the method that I often do and can be used in many apps.

First of all, I think this has been tested, but I think the code is obfuscated, so I will either install APK in the test terminal or download the released application (e.g., alpha version) from the store to test terminal to test it.This is because even the files needed during the optimization process have disappeared, which can cause them to fail.You may not be able to find it only by running it for testing purposes of testing with a USB connection.If this is the cause, review the obfuscation tool settings.

Next, check the developer console for error reports, and correct them as they should be displayed.This may be a few hours of time lag and should be viewed periodically.

If there is no report, we will check the Lint.Often overlooked is the omission of processing by API level.This causes it to fall as it is.It is also useful to test each API level virtual device that the emulator supports.Only certain versions may be experiencing errors.

In addition, the application starts, poses, returns, and ends in various combinations such as home buttons, neglects, and back keys, and performs life cycle tests.At this time, we will also conduct a light load test.It starts the app, puts it in a pause state with the home key, performs heavy processing such as 3D games, and returns to the app.If life cycle management is not done properly, the object will be null and will fall.It may happen even if you start the app after a long period of time.

If these are not resolved, it will be separated by the app.

First, I will verify the dependence of the terminal dependence.For example, if an application uses a device that has different functions available to different devices, such as a camera, exception handling is mandatory.I will review this area.

We will also review the network processing.Smartphones are not always in good network condition.You should be aware that you will lose your connection.Use the Wi-Fi-only model to test with no signal, or if you turn off the Wi-Fi in the middle.

Other things that are hard to notice are OutOfMemoryError.If this fails, it may drop to the submission form displayed to report the error.Be careful with apps that use a lot of images.In particular, if development uses only high-performance features and emulators such as Nexus, this can be a non-testing error.Test on low-performance terminals or use tools to check memory (RAM) usage.If you are using interstitial ads, OutOfMemoryError may occur with loading.This is also hard to get out of the test (it may be more burdensome in production), so you should always have enough memory to use it.

If not, suspect multi-threaded bugs, VM execution order, VM memory access.Re-check if synchronized or volatile is being used correctly.Also, check for problems with both terminals with x86 CPU architecture and ARM.

In my case, it's like this.


2022-09-29 22:27

Do you use crash reporting services?
If not, I recommend fabric crashlytics.
https://get.fabric.io/android?locale=ja

When Crashlytics is included in the app, the exception that occurred on the user's terminal is
You can see it from the fabric management screen.
From this screen
StackTrace, OS version, model, etc. You'll be able to get the exception replication information, which should help you find the cause.

Enter a description of the image here

In addition to Crashlytics, there are similar services.
https://firebase.google.com/docs/crash/
https://www.hockeyapp.net/
https://www.apteligent.com/
https://mint.splunk.com/

Not all exceptions are reported, but
What kind of crashes are occurring with these services?
I think it's better to check first.


2022-09-29 22:27

If you have any answers or tips


© 2024 OneMinuteCode. All rights reserved.