Add placeholder API txt files to platform shared libraries

Allows CtsSharedLibsApiSignatureTestCases to depend on the public and
system APIs provided by the source java_sdk_library modules, e.g.
":javax.obex{.public.txt}" and ":javax.obex{.system.txt}".

Without this change the java_sdk_library_import modules would not
support the ".public.txt" or ".system.txt" output tags. So, when the
prebuilts modules were preferred over the source modules then any usage
of those tags would cause Soong to fail.

e.g. If TARGET_BUILD_APPS was set (without also setting
UNBUNDLED_BUILD_SDKS_FROM_SOURCE=true) then the prebuilt modules would
be preferred and so the build would fail in Soong.

With these changes the prebuilt modules will support those tags and so
Soong will not fail if the prebuilt modules are preferred. Instead it
will generate the ninja build rules. However, as the file is invalid
any code that tried to parse the contents of the file, e.g. to convert
it to XML for use in CTS signature tests will fail.

Bug: 204763318
Test: TARGET_BUILD_APPS=com.android.wifi m
      - fails before this change due to missing dependencies.
      - works afterwards.
      TARGET_BUILD_APPS=CtsSharedLibsApiSignatureTestCases m
      - fails before this change due to missing dependencies.
      - fails afterwards (with some hacks to handle out of date Java prebuilts)
        because the API file is invalid.
Change-Id: Ia3f9f80481afd66790cd97dcc6ac59bd40988608
2 files changed