gnu.emacs/java
Po Lu 850cbdfa1b Update to Android 17
* configure.ac (emacs_cv_android_x_or_later): Rename from
`emacs_cv_android_w_or_later', and test for attributes of
Android 17.

* doc/emacs/android.texi (Android Environment): Document new
permission `ACCESS_LOCAL_NETWORK'.

* java/AndroidManifest.xml.in: Declare permission
android.permission.ACCESS_LOCAL_NETWORK to re-enable Emacs to
access local network devices.  Update `targetSdkVersion' to 37.

* java/INSTALL: Document new build-time requirements and
compatibility with recent build-tools releases.

* java/org/gnu/emacs/EmacsFillPolygon.java (perform): Use
non-deprecated variant of `Path#computeBounds'.

* src/android-asset.h (struct AAsset): <bytes_read>: New field.
(AAssetManager_open): Clear exceptions if no asset fd could be
created.
(android_asset_read_internal): Cast `buffer' to (jbyte *).
Record number of bytes read from the InputStream.
(AAsset_seek): Attempt to satisfy seek operations which do not
modify the file pointer.
2026-07-02 20:08:35 +08:00
..
org/gnu/emacs Update to Android 17 2026-07-02 20:08:35 +08:00
res ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
AndroidManifest.xml.in Update to Android 17 2026-07-02 20:08:35 +08:00
debug.sh ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
emacs.keystore
INSTALL Update to Android 17 2026-07-02 20:08:35 +08:00
Makefile.in ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
proguard.conf ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
README
README.res Fix the Android build 2025-04-27 21:08:48 +08:00

This directory holds the Java sources of the port of GNU Emacs to
Android-like systems, along with files needed to create an application
package out of them.  If you need to build this port, please read the
file INSTALL in this directory.

The ``org/gnu/emacs'' subdirectory contains the Java sources under the
``org.gnu.emacs'' package identifier.

``AndroidManifest.xml'' contains a manifest describing the Java
sources to the system.

The ``res'' directory contains resources, mainly the Emacs icon and
several ``boolean resources'' which are used as a form of conditional
evaluation for manifest entries.

`emacs.keystore' is the signing key used to build Emacs.  It is kept
here, and we encourage all people redistributing Emacs to use this
key.  It holds no security value, and otherwise it will be impossible
to install different builds of Emacs on top of each other.

Please keep the Java code indented with tabs and formatted according
to the rules for C code in the GNU coding standards.  Always use
C-style comments.

Refer to the file `admin/notes/java' in the toplevel directory of the
Emacs distribution or repository for specifics regarding writing Java
code for Emacs and the organization of the Android port.