Я использую Android-студию для своей базы Android-кода, а мой код использует ZipInputStream.java
, который предоставляется как Android SDK, так и JDK. Неважно, какая версия SDK или JDK это.JDK libs, а не Android SDK libs
Странно, когда я запускаю свой apk на Android-M и более низких устройствах и эмуляторах, версия вышеупомянутого класса поставляется из SDK, но на эмуляторе Android N, используя тот же apk, ZipInputStream.java
поступает из JDK.
Как заставить Android N использовать классы из SDK по умолчанию, а не JDK?
Обратите внимание, что я пробовал это, построив apk с помощью api 23 и 24 как для целевых, так и для компиляционных версий sdk, 23.x и 24.x для обоих инструментов сборки и поддержки-v4. Я даже пытался использовать JDK 7 и 8. Кажется, что с ОС Android N есть что-то в том, как он выбирает классы JDK по классам SDK, которые могут отсутствовать. Помощь будет оценена. Заранее спасибо.
* версия вышеупомянутого класса взята из SDK * no ... если вы запустили приложение на устройстве/эмуляторе, то он использует реализацию ZipInputStream из библиотеки времени исполнения устройства/эмулятора ... также как вы «проверили» это ? – Selvin
Я подтвердил, поставив точки останова в обеих версиях файла. Кроме того, для Android-N он ведет себя точно так же, как ожидает версия JDK файлов. Для
FoY