rerefactor bg
Some checks failed
/ test_checkout (push) Failing after 20s

This commit is contained in:
Jean-Marie 'Histausse' Mineau 2025-09-24 00:44:19 +02:00
parent d9650d0775
commit d1dba30426
Signed by: histausse
GPG key ID: B66AEEDA9B645AD2
11 changed files with 159 additions and 98 deletions

View file

@ -1,18 +1,8 @@
#import "../lib.typ": SDK, API, API, etal
== Platform Classes <sec:bg-platform>
== Platform Classes <sec:bg-soa-platform>
In addition to the classes they include, Android applications have access to classes provided by Android.
Those classes are called _platform classes_.
They are devided between #SDK classes, and hidden #API.
The #SDK classes can be seen as the Android standard library.
They are documented by Google, and have a certain stability from version to version.
In case of breaking changes, the changed are listed by Google as well.
The list of #SDK classes is available at complite time in the form of a `android.jar` file to link against.
On the opposite, hidden #API are undocumented methods used internally by Android.
Still, they are loaded by the application and can be used by it.
Thus, they are a potential blind spot when analysing an application.
As we said earlier, hidden #API are undocumented methods that can be used by an application, thus making them a potential blind spot when analysing an application.
However, not a lot a research has been done on the subject.
Li #etal did an empirical study of the usage and evolution of hidden #API~@li_accessing_2016.
They found that hidden #API are added and removed in every release of Android, and that they are used both by benign and malicious applications.