Size: a a a

Kotlin Community

2020 January 10

QH

Quantum Harmonizer in Kotlin Community
Daniil Popov
Все попрописано: -keep class kotlin.Metadata { *; }
а как же -keepattributes *Annotation*?
источник

DP

Daniil Popov in Kotlin Community
Это тоже есть
источник

DP

Daniil Popov in Kotlin Community
Иначе бы и во втором случае не было Metadata
источник

QH

Quantum Harmonizer in Kotlin Community
Daniil Popov
Это тоже есть
А при выключенном R8 она есть?
источник

QH

Quantum Harmonizer in Kotlin Community
Daniil Popov
Иначе бы и во втором случае не было Metadata
вот не факт совсем, думаю, R8 её как-то особенно поддерживает и различает, когда надо оставить, а когда можно снести
источник

I

Ilmir in Kotlin Community
Alexander Nozik
Ох блин. Тестировать я это разумеется не смогу. Ну попробуем. Пишите, что нужно.
У тебя же студенты с маками есть.
источник

AN

Alexander Nozik in Kotlin Community
Ilmir
У тебя же студенты с маками есть.
Одна, но не на телефоне же. Там просто головная боль будет с разбирательством где какие либы есть
источник

AN

Alexander Nozik in Kotlin Community
Кстати, интересный вопрос, как нативщики требуют наличие либ?
источник

DP

Daniil Popov in Kotlin Community
Quantum Harmonizer
А при выключенном R8 она есть?
Если сделать minifyEnabled false, то в обоих случаях оно есть. То есть получается R8 игнорирует правила keep
источник

DP

Daniil Popov in Kotlin Community
Похоже на баг в R8
источник

QH

Quantum Harmonizer in Kotlin Community
Alexander Nozik
Кстати, интересный вопрос, как нативщики требуют наличие либ?
как это понимать?
источник

QH

Quantum Harmonizer in Kotlin Community
Daniil Popov
Если сделать minifyEnabled false, то в обоих случаях оно есть. То есть получается R8 игнорирует правила keep
ну при false у него никто не спрашивает, игнорировать их или нет :)
источник

DP

Daniil Popov in Kotlin Community
Quantum Harmonizer
ну при false у него никто не спрашивает, игнорировать их или нет :)
Да, но если minifyEnabled true, то тогда R8 вырезает аннотацию вопреки явному запрету
источник

AN

Alexander Nozik in Kotlin Community
Quantum Harmonizer
как это понимать?
Вот котлин-натив. Вот мы нтеропом сделали обертку. Как теперь гарантировать, что нужная либа видна. LDPath?
источник

DP

Daniil Popov in Kotlin Community
Ну, кстати, сохранение аннотации @Metadata позволяет извлечь названия методов и полей класса даже тогда, когда они обфусцированы R8.
источник

DP

Daniil Popov in Kotlin Community
Наверное, это не сильно страшно, но потенциально упрощает реверс инженерию.
источник

AM

Andrew Mikhaylov in Kotlin Community
Alexander Nozik
Вот котлин-натив. Вот мы нтеропом сделали обертку. Как теперь гарантировать, что нужная либа видна. LDPath?
Не до конца понял, при чём LD_LIBRARY_PATH к проверке, есть ли библиотека. Обычно требуют наличие либ с помощью указания зависимостей дистрибутиву приложения, которые уже самостоятельно резолвит пакетный менеджер. Либо тасканием всех зависимостей на борту в случае со snap/flatpak. Либо несколькими строками в ридми при распространении tar.gz.
источник

AN

Alexander Nozik in Kotlin Community
Andrew Mikhaylov
Не до конца понял, при чём LD_LIBRARY_PATH к проверке, есть ли библиотека. Обычно требуют наличие либ с помощью указания зависимостей дистрибутиву приложения, которые уже самостоятельно резолвит пакетный менеджер. Либо тасканием всех зависимостей на борту в случае со snap/flatpak. Либо несколькими строками в ридми при распространении tar.gz.
Ну то есть ручками. Просто таскать все зависимости для либы с собой на мультиплатформе - это какой-то кошмар.
источник

AM

Andrew Mikhaylov in Kotlin Community
Alexander Nozik
Ну то есть ручками. Просто таскать все зависимости для либы с собой на мультиплатформе - это какой-то кошмар.
Да, даже если их таскать, это решается в самый последний момент, при сборке дистра. Что нередко вообще вне гредла делаться может.
источник

AN

Alexander Nozik in Kotlin Community
Andrew Mikhaylov
Да, даже если их таскать, это решается в самый последний момент, при сборке дистра. Что нередко вообще вне гредла делаться может.
Я про либу, там дистра-то толком нет.
источник