Android Question App not installed

rosippc64a

Active Member
Licensed User
Longtime User
Hello everyone,
I have an app that I originally compiled with 12.8, and it has been running on secure bank card payment devices. Recently, I finally updated my development environment to the latest version (quite nervously), because in another app I could no longer use the camera and the file picker on newer phones.
Then I had to test my bank card app again. It compiles perfectly, but I can’t install it: app not installed. Unfortunately, I don’t get any additional information. In debug mode it installs and runs, but in release mode I get app not installed. Sadly, the device doesn’t have ADB either, so I can’t get any detailed information about the reason.
I thought that under the new IDE I would set the Android libraries back to SDK 34 and Java JDK 11.0, but that didn’t solve the issue. I have no idea what the problem could be. I’m even considering installing the older IDE alongside the latest one on my development machine, but I haven’t found any reassuring posts about this on the forum.
Right now, I’m quite stuck, because nothing in my app has changed except the development tools. I also don’t even know whether, with targetVersion="34", the Android device (the same one that worked perfectly before) could say that it was compiled with SDK 36 and therefore refuse to install it…
Has anyone encountered a problem like this before?
Thanks in advance
Steven
 

JohnC

Expert
Licensed User
Longtime User
If the older version of the app is still installed on the phone, try uninstalling it, then try installing the newer version.
 
Upvote 0

JohnC

Expert
Licensed User
Longtime User
Sadly, the device doesn’t have ADB either
If the B4A is able to install and run the app on your device in debug mode, then that to me means debugging/ADB is running on the device.

So, try unchecking the "Filter" checkbox on the log tab in the IDE so you can see any raw events that might give you a clue why the app won't install.
 
Upvote 0

rosippc64a

Active Member
Licensed User
Longtime User
There is no usb debugging, only b4a bridge. This is a secure developer device , not even a normal settings menu.
But there is a weird thing: if I change my package name, it can install... But I can't see whether is is installed...
 
Upvote 0

zed

Well-Known Member
Licensed User
Troubleshooting steps:

1 - You recompiled with targetSdkVersion=34, but the device doesn't support it. Set targetSdkVersion=30.

2 - The Release APK is over-optimized (obfuscation, compression, resources). Temporarily disable obfuscation.

3 - The Release APK contains an incompatible library. Since you updated your SDK, some B4A libraries may now target too high an API level, include unsupported permissions, or include incompatible manifest files.

4 - The device is refusing the installation because the Release version doesn't have the same signature as the already installed version.
 
Upvote 0

zed

Well-Known Member
Licensed User
There is no usb debugging, only b4a bridge. This is a secure developer device , not even a normal settings menu.
But there is a weird thing: if I change my package name, it can install... But I can't see whether is is installed...
If the APK only installs when you change the package name (com.xxx.yyy), then the device refuses to overwrite the existing application because the signature is no longer the same.

This is exactly what secure terminals do. They remember the signature of the already installed application.
If you present a new version signed with a different keystore, they refuse the installation without an error message.
If you change the package name for the device, it's a new application, so it installs it.
This is typical behavior for banking, industrial, or PCI-certified devices.
 
Upvote 0

rosippc64a

Active Member
Licensed User
Longtime User
Oh my God, there was a hidden installed app with higher versioncode...
Sorry it was my mistake, but I was so stuck...
Thanks guys!!!!
Have a good night!
 
  • Like
Reactions: zed
Upvote 0
Top