KeepSafe / ReLinker

A robust native library loader for Android.
Apache License 2.0
3.23k stars 371 forks source link

Include report of unscannable files in MissingLibraryException #108

Open MrHadiSatrio opened 6 months ago

MrHadiSatrio commented 6 months ago

What has changed

To reduce ambiguity, we would want to report unscannable files whenever we're querying for getSupportedABIs(). This is done by:

  1. Employing an object which could store problematic Files information in addition to the supported ABIs.
  2. Modifying getSupportedABIs()'s catch clause to capture said information.
  3. Modifying MissingLibraryException to report it.

Additionally, to ease testing, refactor ZipFile factory logic out from ApkLibraryInstaller so we can mock this scenario.

Sample exception message post this change

Could not find 'libtest.so'. Looked for: [armeabi-v7a], but only found: []. Additionally, encountered errors while scanning: [fake.apk => java.io.IOException: Could not create zip file.].

Why it was changed

As an attempt to resolve #107.