From 04c1f72d4c8ff2763c6961b6eae77a10abc00b66 Mon Sep 17 00:00:00 2001
From: Android Partner Docs foo-bar
:
LOCAL_JAVA_LIBRARIES += android.hardware.foo-V1.0-java+
LOCAL_STATIC_JAVA_LIBRARIES += android.hardware.foo-V1.0-javaOR
-shared_libs: [ +static_libs: [ /* … */ "android.hardware.foo-V1.0-java", ],-The static version of the library is also available as -
android.hardware.foo-V1.0-java-static
.-Lmakefile
generates the rules that run this command at build
time and allow you to include
-android.hardware.foo-V1.0-java(-static)?
and link against the
+android.hardware.foo-V1.0-java
and link against the
appropriate files. A script that automatically does this for a project full of
interfaces can be found at hardware/interfaces/update-makefiles.sh
.
The paths in this example are relative; hardware/interfaces can be a temporary
diff --git a/en/devices/architecture/hidl/versioning.html b/en/devices/architecture/hidl/versioning.html
index c67910d9..fe4ec95d 100644
--- a/en/devices/architecture/hidl/versioning.html
+++ b/en/devices/architecture/hidl/versioning.html
@@ -219,7 +219,7 @@ as a method parameter), use the fully-qualified type name:
android.hardware.nfc
).VERSION
is the dot-separated major.minor-version
format of the package (e.g., 1.0
).UDT
is the the dot-separated name of a HIDL UDT.
+UDT
is the dot-separated name of a HIDL UDT.
Since HIDL supports nested UDTs and HIDL interfaces can contain UDTs (a type of
nested declaration), dots are used to access the names.Unless a method warrants a new name, it should be named similarly to what it
-is extending. For example, the method foo_1_1
in
-@1.1::IFoo
may replace the functionality of the foo
-method in @1.0::IFoo
.
If a method can have a new semantic name (for instance
+fooWithLocation
) then that is preferred. Otherwise, it should be
+named similarly to what it is extending. For example, the method
+foo_1_1
in @1.1::IFoo
may replace the functionality
+of the foo
method in @1.0::IFoo
if there is no better
+alternative name.
HIDL versioning occurs at the package level; after a package is published, it diff --git a/en/devices/architecture/kernel/config.html b/en/devices/architecture/kernel/config.html index 49ae7e1d..94cba30d 100644 --- a/en/devices/architecture/kernel/config.html +++ b/en/devices/architecture/kernel/config.html @@ -5,6 +5,7 @@
+ {% include "_versions.html" %} -Use the following configuration settings as a base for an Android kernel
-configuration. Settings are organized into android-base
,
-android-base-<arch>
, and android-recommended
-.cfg files:
+ Use the following configuration settings as a base for an Android kernel
+ configuration. Settings are organized into android-base
,
+ android-base-ARCH
, and
+ android-recommended
.cfg files:
+
android-base
. These options enable core Android features and
-should be configured as specified by all devices.android-base-<arch>
. These options enable core Android
-features and should be configured as specified by all devices of architecture
-<arch>. Not all architectures have a corresponding file of
-architecture-specific required options. If your architecture does not have a
-file, it does not have any additional architecture-specific kernel configuration
-requirements for Android.android-recommended
. These options enable advanced Android
-features and are optional for devices.android-base
. These options enable core Android features and
+ should be configured as specified by all devices.android-base-ARCH
. These options enable core
+ Android features and should be configured as specified by all devices of
+ architecture ARCH. Not all architectures have a corresponding file
+ of architecture-specific required options. If your architecture does not have
+ a file, it does not have additional architecture-specific kernel configuration
+ requirements for Android.android-recommended
. These options enable advanced Android
+ features and are optional for devices.These configuration files are located in the
-kernel/configs
-repo. Use the set of configuration files that corresponds to the version of the
-kernel you are using.
+ These configuration files are located in the
+ kernel/configs
+ repo. Use the set of configuration files that corresponds to the version of
+ the kernel you are using.
+
For details on controls already undertaken to strengthen the kernel on your -devices, see System -and Kernel Security. For details on required settings, see the -Android Compatibility Definition -Document (CDD).
++ For details on controls already undertaken to strengthen the kernel on your + devices, see System and + Kernel Security. For details on required settings, see the + Android Compatibility Definition Document + (CDD). +
For devices that have a minimalist defconfig, you can use the
-merge_config.sh
script in the kernel tree to enable options:
+ For devices that have a minimalist defconfig
, use the
+ merge_config.sh
script in the kernel tree to enable options:
+
-ARCH=<arch> scripts/kconfig/merge_config.sh <...>/device_defconfig <...>/android-base.cfg <...>/android-base-<arch>.cfg <...>/android-recommended.cfg +ARCH=ARCH scripts/kconfig/merge_config.sh <...>/device_defconfig <...>/android-base.cfg <...>/android-base-ARCH.cfg <...>/android-recommended.cfg-
This generates a .config
file you can use to save a new
-defconfig or compile a new kernel with Android features enabled.
+ This generates a .config
file you can use to save a new
+ defconfig
or compile a new kernel with Android features enabled.
+
+ In some cases, the platform maintainer can choose from multiple kernel + features to satisfy an Android dependency. Such dependencies cannot be + expressed in the kernel config fragment files (described above) because the + format for those files does not support logical expressions. In Android + {{ androidPVersionNumber }}, + Compatibility Test Suite (CTS) and + Vendor Test Suite (VTS) verify the following + requirements are satisfied: +
+ +CONFIG_OF=y
or CONFIG_ACPI=y
CONFIG_ANDROID_LOW_MEMORY_KILLER=y
+ OR have both CONFIG_MEMCG=y
and CONFIG_MEMCG_SWAP=y
+ CONFIG_DEBUG_RODATA=y
or
+ CONFIG_STRICT_KERNEL_RWX=y
CONFIG_DEBUG_SET_MODULE_RONX=y
or
+ CONFIG_STRICT_MODULE_RWX=y
CONFIG_ARM64_SW_TTBR0_PAN=y
or
+ CONFIG_ARM64_PAN=y
+ In addition, the CONFIG_INET_UDP_DIAG
option must be set to
+ y
for 4.9 kernels in Android {{ androidPVersionNumber }}.
+
For USB host mode audio, enable the following options:
++ For USB host mode audio, enable the following options: +
+CONFIG_SND_USB=y CONFIG_SND_USB_AUDIO=y # CONFIG_USB_AUDIO is for a peripheral mode (gadget) driver-
For USB host mode MIDI, enable the following option:
--CONFIG_SND_USB_MIDI=y -+
+ For USB host mode MIDI, enable the following option: +
+ +CONFIG_SND_USB_MIDI=y
Seccomp-BPF is a kernel security technology that enables the creation of -sandboxes to restrict the system calls a process is allowed to make. The TSYNC -feature enables the use of Seccomp-BPF from multithreaded programs. This ability -is limited to architectures that have seccomp support upstream: ARM, ARM64, x86, -and x86_64.
- -Ensure that CONFIG_SECCOMP_FILTER=y
is enabled in the Kconfig
-(verified as of the Android 5.0 CTS), then cherry-pick the following changes
-from the AOSP kernel/common:android-3.10 repository:
-9499cd23f9d05ba159fac6d55dc35a7f49f9ce76..a9ba4285aa5722a3b4d84888e78ba8adc0046b28
+
+
+ Seccomp-BPF is a kernel security technology that enables the creation of + sandboxes to restrict the system calls a process is allowed to make. The + TSYNC feature enables the use of Seccomp-BPF from multithreaded programs. This + ability is limited to architectures that have seccomp support upstream (ARM, + ARM64, x86, and x86_64). +
+ +
+ Ensure CONFIG_SECCOMP_FILTER=y
is enabled in the
+ Kconfig
(verified as of the Android 5.0 CTS), then cherry-pick
+ the following changes from the
+ AOSP
+ kernel/common:android-3.10 repository:
Ensure CONFIG_SECCOMP_FILTER=y
is enabled in the Kconfig
-(verified as of the Android 5.0 CTS), then cherry-pick the following changes
-from the AOSP kernel/common:android-3.10 repository:
+ Ensure CONFIG_SECCOMP_FILTER=y
is enabled in the
+ Kconfig
(verified as of the Android 5.0 CTS), then cherry-pick
+ the following changes from the AOSP kernel/common:android-3.10 repository:
+