Android Question Why my B4A App. Doesn't Install on Android 15 ?

amir hosein

Member
Hello Everyone .
I prepared a B4A app. 4 years ago and it ran (runs) on Android 10 .
I bought a New phone with Android 15 and my App. Doesn't install on it .
The libraries which my App. is used are : Dialogs , IME , Javaobject , MLwifi400 , Network ,Phone , PrefrenceActivity , RandomAccessFile , Reflection , ScrollView2D , SQL (Table Module) , StringUtils
I also have a socket_service module in my App.
If there is any recommendation to make an App. under Android 15 , Please let me know .

Thanks for your responses

Regards
 

Peter Simpson

Expert
Licensed User
Longtime User
I bought a New phone with Android 15 and my App. Doesn't install on it .
It's most probably permissions, your may need to use runtime permissions. Press the list permissions button, and post a screenshot of your apps permissions.
 
Upvote 0

jkhazraji

Active Member
Licensed User
Longtime User
XML:
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="34"/>
is the point of start.
 
Upvote 0

jkhazraji

Active Member
Licensed User
Longtime User
MLwifi400 → broken on Android 10+ (WiFi SSID, MAC access restricted). You’ll need to replace it with MLWiFi v1.42+ or switch to PhoneEvents + Network libraries.
Phone library → some methods (IMEI, SIM info, etc.) now require READ_PHONE_STATE and in Android 13+ may return blank unless the app is carrier-privileged.
File access → RandomAccessFile and file-based APIs can’t freely use /storage/emulated/0/… anymore. Use RuntimePermissions + FileProvider or store inside App-Specific folders (File.DirInternal or File.DirInternalCache).
Dialogs, IME, JavaObject, Network, Phone, PreferenceActivity, RandomAccessFile, Reflection, ScrollView2D, SQL, StringUtils → still fine with latest B4A.
MLwifi400 → obsolete, needs replacement.
PreferenceActivity → deprecated, but still works if migrated to PreferenceManager.
 
Upvote 0

amir hosein

Member
Hello again .
I checked the MLWifi400 version and it was the latest version (v4.41) .
I have to use RandomAccessFile library because I have a Socket_service that uses AsyncStream object .
I used DirAsset for reading a file .
My B4A IDE version is 12.5 now . Is it must to update to latest version ?

My Permissions in the Manifest Editor is as follow :

AddManifestText(
<uses-sdk android:minSdkVersion="5"/>
<supports-screens android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:anyDensity="true"/>)
SetApplicationAttribute(android:icon, "@drawable/icon")
SetApplicationAttribute(android:label, "$LABEL$")
'End of default text.

'MLWiFi
AddPermission(android.permission.ACCESS_FINE_LOCATION)
AddPermission(android.permission.ACCESS_NETWORK_STATE)
AddPermission(android.permission.ACCESS_WIFI_STATE)
AddPermission(android.permission.CHANGE_WIFI_STATE)

Thanks for your help
 
Upvote 0

jkhazraji

Active Member
Licensed User
Longtime User
Change:
B4X:
<uses-sdk android:minSdkVersion="5"/>
To:
B4X:
<uses-sdk android:minSdkVersion="26"/>
 
Upvote 0
Top