Hai Zhang created COMPRESS-611:
----------------------------------

             Summary: commons-compress 1.21 became incompatible below Android 
8.0
                 Key: COMPRESS-611
                 URL: https://issues.apache.org/jira/browse/COMPRESS-611
             Project: Commons Compress
          Issue Type: Bug
    Affects Versions: 1.21
            Reporter: Hai Zhang


The change 
https://github.com/apache/commons-compress/commit/06e05dab3bcb9044cc599f0ff18be78c54a8fbae
 added a static LinkOption[] array into IOUtils, and also made use of 
LinkOption in tar code.

However, LinkOption is a Java 8 class that's only available on Adnroid 8.0 and 
beyond. And with the static field in IOUtils, which will result in loading the 
LinkOption class during IOUtils class initialization, this suddenly made all 
classes referencing IOUtils to require Android 8.0.

In comparision, most of the functionalities in commons-compress 1.20 was 
working fine on Android 5.0+.

I discovered this because a real user wrote to me about this issue, and a lot 
of users in developing countries may still be using older devices, so it seems 
to me supporting Android 5.0+ may still be a good thing. Meanwhile according to 
https://www.androidpolice.com/googles-latest-android-version-distribution-numbers-show-11-in-dead-heat-with-10/
 , raising supported Android platform version from 5.0 to 8.0 will result in 
the percentage of supported device to decrease from 98% to 82.7%, a >10% 
decrease.

So could you kindly consider supporting Android 5.0 again by making the usage 
of Java 8 NIO file APIs optional?



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to