White screen in production of ionic capacitor android app - android

I am using Angular 11 and ionic 5 for my app. And it runs without any errors on my device from the android studio in development. But when I sign my code and upload it for internal or closed (Alpha, Beta) testing on playstore,I see my splash screen for less than half a second and then a blank white screen.
I am using Sentry to log errors so I can debug my app during production. But I see no error in sentry at this point.
So my question is, how can I figure out what is going wrong ?

White screen usually means that an there is an error!
What I think you should do:
Test using production mode on your device in android studio. You should see the error in the logs.
Use a 3rd party like Browserstack to upload your app and see if you get any errors.
Check if you first ask for permissions before you use any device native functionality
If you still cant find the error, update all your libraries to the latest version
If nothing else works, start deleting/commenting parts of the app until it finally works. Start with the 3rd party plugins or push notifications, then any ionic plugin. Using this you should be able to identify where the problem is.

Related

Android Mobile App Not Loading Webview on Startup

I am seeing a new issue pop up in my Mobile App for only Android users. When the app is launched, it directs the users to a webview login page. Currently, it shows the loading spinner that displays when waiting to connect to the site, but it never does.. giving me an infinite loading spinner.
In the test environment, this does not occur. Even when using a prod build, if I leave the app unsigned, it will still work. Once I sign it, the app again does not load.
I have tried updating Chrome and Android Webview system app, as it seems a few months ago a similar thing was happening to some Google apps. I have also messed around with some of the minified files, edited the proguard file, updated react-native-webview, tried a newer build template for the tool I am using... nothing seems to be working.
Does anyone have any other suggestions I could try?

How to deploy a Kivy app to Google App Store?

Deploying a Kivy app to Google Play Store is a true pain. I spent over a week now trying to deploying the app to the Play Store, whereas I spent only 5 days developing it.
After managing to overcome all problems during the build process with buildozer, I'm facing now another problem when I want to deploy my app to google store. This is the warning I'm getting:
Unoptimised APK
Warning:
This APK results in unused code and resources being sent to users. Your app could be smaller if you used the Android App Bundle. By not optimising your app for device configurations, your app is larger to download and install on users' devices than it needs to be. Larger apps see lower installation success rates and take up storage on users' devices.
Resolution:
Use the Android App Bundle to automatically optimise for device configurations, or manage it yourself with multiple APKs.
I know It's just a warning, I can ignore it right? I thought so too, but google store is not allowing me to deploy my app. So I must somehow solve this issue so that I can finally deploy my app in peace.
Here are the steps I'm making to build my app:
I followed all these steps (signed the app with key etc...)
I even tried using jarsigner as an extra step since the steps above didn't work
I also tried using zipalign to "optimize" my app
But none of that worked. Still google store is saying I need to make a bundle android app. But I'm using kivy/python so I can't use android studio to make a bundle and I can't find in buildozer docs how I can do this or if it is supported.
My app size is 28 MB, I even tried to remove some necessary stuff just to see whether it will work. So I reduced the size to 14 MB but that didn't work either. It's really frustrating. Building apps is fun while coding but the deployment process is real headache.
Here is a link to my app in case you want to play with the code or see the buildozer.spec file. I lost hope of uploading it to Play Store, hence I open sourced it.
Edit
here is how the google play console looks in my case:
This is the first tab, where I upload the app:
This is the second tab, where I should review and then release (notice here that I can't press the roll out to production button):
As you guessed, the message you're seeing about using AAB is just a warning, it doesn't prevent you from releasing the app. You're far from the first person to be confused by it though, the google interface is quite unclear.
The actual problem is that you need to make sure all the essential information is filled in on every page of the app store configuration. In your screenshot above, pages that have been completed are marked by a green circle with a check mark. In contrast, the "Store Listing" page only has a greyed-out check mark, indicating that you need to add something there before you can release the APK.
As discussed in comments, it turned out that the missing thing was screenshots of the app, and after adding them it could be released successfully despite the warning message.

What to do when app keeps crashing and reports IllegalStateException with unknown source?

Recently I updated my app by adding a couple of functions. In addition, I recreated the project since I had problems with app support for Android devices below Lollipop. After update and upload on Google Play, I update the app over Google Play on my separate real device (non test device) and it just keeps crashing (by opening it closes right away) without any errors on device. Google Play Console reports under "Crashes" IllegalStateException at
package.d.a (Unknown Source:73). However, the d.a package name is totally unknown for me, because I do not have that in my entire project.
package.MainActivity.onResume (Unknown Source:8). At this 8th I have an Import which would never cause an exception.
I guess that not only me, but some another users, who already updated the app, have also the save problem. However, I just generated a signed apk of my app and installed it on my real device (non test device), but for this step I needed to remove the app downloaded from Google Play before manual installing. This approach worked and the app does not crashes any more and works properly without problems.
I think, for users who download the app for the first time ever, this problem does not occur for them. How can I find out the cause of the problem?
Here is my app. If the app works for those who downloaded it after reading this post, please send me some short feedback using the built in Send Feedback in the app just to ensure the app functionality.
If you use proguard you need to add the mapping file to your console
If you use ProGuard to optimize and obfuscate your APK files, you can upload a ProGuard mapping file for each version of your app on the Play Console to deobfuscate your crash stack traces and help you better analyze your app's crashes.
Important: Only ProGuard mapping files are supported for deobfuscation.
Do you use any kind of testing with your app? You can try testing it on Firebase Test Lab, especially the Robo Tests, which try to crawl and use all app interactions.
They can help in detecting any faults or issues early on before releasing the app to the market.
You can also use Firebase's Crashlytics to detect crashes and get more details on the crashes.
Hope this helps.
I found the solution. In my case, I just needed to clear the cash of the app in the device settings. It helped to run the app again. However, there could be another solutions or even problems with such kind of app crash.

react-native-firebase crashlytics not showing up on firebase dashboard

I am using firebase crashlytics. I am causing a crash by doing
firebase.crashlytics().crash()
and I am not seeing the crash report on the firebase dashboard. The crash is working because on android i get this screen
and on ios the app freezes and i get brought to this page on xcode
But on the crashlytics dashboard on firebase the crashes are not showing up.
Is there any reason why the crashes are not showing up on crashlytics dashboard? I am using react-native-firebase. I know i installed it correctly because I tried causing the crashes natively on android with java and I am able to see the crash on crashlytics.
TL;DR: run react-native run-android --variant=release for Crashlytics to begin working properly, assuming you've set everything up correctly (which it certainly appears you have since firebase.crashlytics().crash() is crashing your application.)
Please note - in order for react-native run-android --variant=release to function properly, you will have needed to configure your APK for release builds according to the directions here: https://facebook.github.io/react-native/docs/signed-apk-android
I've never been happier to see my crash free users rating decrease :)
Let me know if you have any questions! Setting up signing can be a little confusing, so let me know if you have any questions.
This is a very frustrating issue, but fortunately, I've found the solution and I'm in exactly the same boat you are.
See that big red screen? That's React Native's way of telling you, during development, that you've made some kind of mistake. What isn't immediately obvious is that this red screen prevents errors from making it through to our error reporting tools. Running your app in release mode will prevent React Native from showing that red screen, and your error reporting tools will be able to report crashes.
As Gian has pointed out in another answer to this question, it appears that firebase.crashlytics().crash() is not functioning properly. However, this isn't quite true. Whenever you are operating in debug mode (anytime you can see the red screen, you're in what I'm calling debug mode), Crashlytics and other crash reporting tools cannot catch Native Exceptions, but they can catch Javascript exceptions.
Once you run the application in release mode as I’ve described above, Crashlyitcs will be able to catch Native Exceptions. If you look into Crashlytics.crash(), it’s actually an crash intentionally written in Java. In order for Crashlytics to actually ‘hear’ that the application is crashed due to a Native Exception, you have to be running in release mode, not debug mode.
Sorry for beating the dead horse down here, but I’ve been looking into this issue all morning and felt it pertinent to share this information to others suffering the same fate as I was.
In iOS you need to unlink the app from Xcode so that it doesn't freeze when a crash occurs.
Build the App.
Stop the project in Xcode without terminating the simulator or
device.
Then you can crash without Xcode freezing.
Reopen the app so that Firebase can send the crash report.
For more details on this, see here in the Firebase documentation.
It will definitely help you
Go to Edit Scheme
Run -> Info
Change the Build Configuration to release.
Now run the App
And crash your app manually. Now you can check on your crashlytics dashboard
Try this as well
Launch your simulator/iPhone
Press stop
Launch your app and force a crash
Relaunch the app from simulator/iPhone
See the crash report in the crashlytics dashboard.
firebase.crashlytics().crash() its not working properly.
I purposely made a bug to simulate a crash when i tap a button and that crash was caught and shown in the Crashlytics Dashboard inmediately.
Ej: I work with React Native so i changed a this.props.etc... to this.state.etc...
to create an "undefined is not a function exception".
Hope it helps!
which version of #react-native-firebase/crashlytics do you have on your package.json?
you'll need to use one of the versions released after June 2020 because otherwise it doesn't have the Fabric removal change. For example, I have to update to
"#react-native-firebase/app": "11.2.0",
"#react-native-firebase/crashlytics": "11.2.0",
Here you can check versions available:
https://www.npmjs.com/package/#react-native-firebase/crashlytics
its stupid from Firebase Teams, but the solution is :
1- Force the crash
2- Launching the app with ide or cli
3- stop launching app from ide or cli
4- launch the app from smilator like user normal
And you will see the crashs in firebase console.

How to use basic4android exported apk

I am a .net developer but new to android programming. I have used basic for android and set to compile & run project into my LG device. Everything is good but my question is when I compile and run, everything is done?
Can I use the exported application file in the project folder in any device? I wrote a app and send it to my other galaxy phone, it worked! But when starting app, it works but first showing message: "Waiting for IDEdebugger to connect", what is this?
thanks for your help.
Before you package your application in b4a for other users or uploading to store, you have to change the compilation mode from debug to release or release(obfuscated).
If you compile in debug mode, that is when if you share the application to different users, it will always launch with the information waiting for ide debugger.
The app will work upon the platform which you choosed when you started your project. See what platform you choosed I remember there are Android , android icecream sandwich ..etc
So upon your choice you can know what devices you app will work but take care about the screen dimensions variations because this may cause problems in the way of the design is displayed so you should create scale just to be safe.
To get rid of that error you should uncheck Project->Attach Debugger. Also the file you will upload to Google Play Store or other places will be a .apk file in your objects subfolder. Basically you will need to either setup the Galaxy phone like your LG device or change the project to release and copy the .apk file onto your SD card and manually install it. For more information on your error a quick Google search led to a forum post on Basic 4 Android's forum. The link to that post is http://www.basic4ppc.com/android/forum/threads/waiting-for-ide-debugger-to-connect.13813/

Categories

Resources