Make ArtDexFileLoader accept an zip file with no dex code.

We pass config split APKs as part of the class loader context to
OatFileAssistant, in both the legacy dexopt code path and the new ART
Services code path. Those config split APKs eventually go to
ArtDexFileLoader. Therefore, ArtDexFileLoader should not regard this as
an error.

Before this change, this was regarded as an error. The legacy dexopt
code path could work because it uses the legacy
`DexFile.GetDexOptNeeded` Java API, which doesn't check the result of
opening dex files. The new ART Services code path couldn't work because
it checks the result.

Bug: 229268202
Test: m test-art-host-gtest
Test: (on internal master) -
  1. Run `pm art optimize-package` for a split APK that depends on a
     config split APK.
  2. See dexopt being successful.
Change-Id: I08a2a5ad7bea82c3f534ed4de2935fc400652361
8 files changed