Jump to content
Rollo62

Android: Minimal app seems to require: "android.permission.INTERNET"

Recommended Posts

Hi there,

I'm doing some R&D with a minimal app, trying to get some insights on growing festure sets.
My system is Delphi D12.1, Android 14, App in DEBUG mode, MinimalApp with TLayout, TLabel and TMemo - not using any other hardware or library yet.
There I see sudden exception on startup, quite sporadic, just by changing the permissions and uses-features, and I wanted to find a deeper reason or explanation for this.

What I found, even if I completely remove all permissions by hand from the *.dproj, from all "_Base" and sub positions ( = not any SUP_INTERNET ).
There is no more AUP_... in the file, nor any checkbox in the Permissions Options, and no permission in the Android.Manifest.template.xml either.
Meaning:
 

    <PropertyGroup Condition="'$(Base)'!=''">
        ...
        <AUP_INTERNET>true</AUP_INTERNET>  //<== Removed even this line, and any other AUP: in this file
        ...
    </PropertyGroup>


But still, the IDE generated an INTERNET permission in the manifest file

    <uses-sdk android:minSdkVersion="23" android:targetSdkVersion="34" />
    <uses-permission android:name="android.permission.INTERNET" />

So why is INTERNET always there, is this because of "Mobile" app is kindof "Internet", or what?
Is this a BUG or a FEATURE?
 

 

Share this post


Link to post
15 minutes ago, Rollo62 said:

So why is INTERNET always there, is this because of "Mobile" app is kindof "Internet", or what?
Is this a BUG or a FEATURE?

A bit of speculation on my part, but it's possibly a hangover from when Delphi required gdbserver for debugging. The Internet permission is a bit of a misnomer, since it "Allows applications to open network sockets". This part I know from when debugging was broken in Android 8: There is a private IP network between the IDE and gdbserver

 

  • Thanks 1

Share this post


Link to post

I've tried the same minimal app in RELEASE, and YES, the INTERNET permission is gone.
Your answer can be a good explanation to what happens, so I would note to myself
that android.permission.INTERNET => is required always, in DEBUG mode.

This would make sense and that would be a good explanation, unless there is another hidden requirement lurking around the next corner.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×