This library used to be provided by HXCPP, but it was removed in version
3.4.185. Fortunately, it doesn't seem to be necessary, so this commit
stops Lime from attempting to link with it.
`getRealMetrics()` is now deprecated as well. It suggests using `getCurrentWindowMetrics()` instead, but that's new in SDK 30 and doesn't even contain DPI information. Whereas this function has been around since the start.
This library used to be provided by HXCPP, but it was removed in version
3.4.185. Fortunately, it doesn't seem to be necessary, so this commit
stops Lime from attempting to link with it.
The HashLink executable expects hlboot.dat and libraries to be in the current working directory (it's not enough for them to be in the same directory as the executable). Make the .app file launch a shell script that 1) changes the current working directory 2) launches the HashLink executable
This is recommended as a best practice, though AFAIK this only matters
for projects that are going to be imported by other projects.
For instance, you used to be able to include `:deps:extension-api` by
including any extension that depended on it. Now, every project that
wants to use `extension-api` has to include it directly. (Which is fine
because in practice, they all already do so.)
It isn't always safe to assume `./` is the app directory, and removing
that assumption opens up options.
Requires at least Haxe 3.4, but I don't think Lime supports 3.3 anyway.
https://developer.android.com/studio/projects/configure-agp-ndk#agp_version_41
The documentation tells you to be careful about this, since you're
putting local-only information into a file that gets uploaded to version
control, but Lime doesn't really need to worry about that.
Granted, Lime DID use local.properties, but that's no longer practical.
I can't think of any practical reasons for an Android extension to compile an ndll. All of Android's system functions require Java, not C++, and you can get the speed of C++ just by writing Haxe code.
I surveyed several Android extensions on lib.haxe.org, and not one of them used ndlls when targeting Android.
Otherwise it throws the following error on build:
"Apps targeting Android 12 and higher are required to specify an explicit value for `android:exported` when the corresponding component has an intent filter defined. See https://developer.android.com/guide/topics/manifest/activity-element#exported for details."
To publish apps on Google Play everyone needs to target SDK 31+, which is Android 12+, so this is like a must now.
If "true", the activity is accessible to any app, and is launchable by its exact class name.
If "false", the activity can be launched only by components of the same application, applications with the same user ID, or privileged system components. This is the default value when there are no intent filters.