Dear Android developers geniuses,
I need help with rolling-out my app in the Google Play Console. I’ve stumbled on a chain of problems that appears to be like a catch 22 situation. I’ve started rolling-out my app using Internal testing and soon I discover when I got the pre-launch report, that my app triggered two errors, which I was told will prevent me from continuing the rollout until they’ve been fixed. The two errors are the:
`java.lang.SecurityException: Calling from not trusted UID!`
and
`java.lang.NoClassDefFoundError: aewt`
I’ve done my research here on this platform and elsewhere, and I found a few possible solutions which I tried to fix. I then rebuild another bundle and uploaded it to the internal testing but to no avail, these problems persist.
I followed this link for attempting to solve the problem aewt
https://stackoverflow.com/questions/64706041/fatal-exception-firebase-messaging-intent-handle-java-lang-noclassdeffounder
And this to solve the UID!
problem
Calling from not trusted UID
None worked.
It then dawned on me that these problems appear on the old version of Android from android 5 and below. So I’ve decided to limit the usage of my app to android 6.0 and above. Little did I know that this will turn out to be a perplexing task as well. And I’m confused as hell.
I followed the instructions on here: [https://developer.android.com/training/basics/supporting-devices/platforms] and added the suggested codes to my app. But here again, it didn’t work and I was able to run my app on the emulators that run Android version 5.0 and below.
The first code that I used was this:
`<manifest xmlns:android="http://schemas.android.com/apk/res/android" ...>
<uses-sdk android:minSdkVersion="6" android:targetSdkVersion="15" />
...
</manifest>`.
However, I couldn’t figure out what is the SDK version. Was it the OS version? Or the API version? Or maybe another set of numbers which I couldn’t find a reference to on the web. I know that this issue is been covered lengthy on this platform but I still couldn’t find the right answer. Anyway, I’ve tried every logical possibility on this using a combination of OS versions and then API versions but none of them seems to prevent my app from running on the old Android version.
I’ve also added this code to the MainActivity:
`private void setUpActionBar() {
// Make sure we're running on Marshmallow or higher to use ActionBar APIs
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
ActionBar actionBar = getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
}
}`
But still, my app was happy to run on older OS’s
Here is a recap of my problems. I get error messages on rolling out my app which appears to be unsolvable which prevents me from continuing from rolling out my app. An attempt to limits the distribution of my app to OS 6.0 and higher has failed too.
What shall I do now?
- Try to roll-out my app on the production track and hope for the best?
- Is the SDK number the OS number or the API or neither?
- Is there another method in which I can tell Android not to get installed on an older versions? Please Help!