LINUX.ORG.RU
ФорумTalks

В Android решили поменять ART на OpenJDK

 ,


0

5

Такие дела:

https://android.googlesource.com/platform/libcore.git/ /aab9271edee6cc8b4dd46...

https://android.googlesource.com/platform/libcore.git/ /51b1b6997fd3f980076b8...

-LOCAL_SHARED_LIBRARIES += libart libnativehelper libdl
+LOCAL_SHARED_LIBRARIES += libopenjdkjvm libnativehelper libdl
★★★★★

Последнее исправление: foror (всего исправлений: 1)

Ой, что-то будет сейчас здесь )

leave ★★★★★
()

А разве им еще кто-то пользуется?

slyjoeh ★★★
()

не не, там виртуальную машину тащат, это максимум на синтаксис влияет

Deleted
()

А как же AOT компиляция и все дела? ахахах))
Видать решили, что не осилят запилить в ART все фичи java 8 и 9.
Готовят ведройд к десктопу.
Вот и славненько!

ii8_ ★★★★
()

АХАХАХАХХАХАХААХХАХАХА гугол слился

mystery ★★
()

Ну и отлично. Ещё одним велосипедом рантаймом/компилятором жабы меньше.

Может потом умные люди этим воспользуются, и научат Android-приложения запускаться на десктопах, без всяких там хромов и прочей ерунды. Вот тогда будет весело...

nexfwall ★★★★
()

Но зачем? ART вроде как позволяет перевести приложения в нативный код на этапе установки, чтобы запуск и исполнение были максимально быстрые (насколько это позволит эффективность перевода из байт-кода в нативный).

KivApple ★★★★★
()
Ответ на: комментарий от KivApple

Ну тут типа вопросы более глобальные и эпичные чем производительность.

Во первых решаются легальные проблемы гугла, если верна теория о том, что эти коммиты связаны с разрешением спора с ораклом о патентовании апи. (заодно переходя на gpl платформу закрываются от будущих проблем в этой области)

Во вторых слияние платформ, точнее уход одной из них (текущая андройдоява), несовместимой с остальными.

Midael ★★★★★
()
Последнее исправление: Midael (всего исправлений: 1)

А как же компиляция с помощью ART в машкод? Что теперь будет с андроедом в плане производительности?

EXL ★★★★★
()
Ответ на: комментарий от EXL

Что теперь будет с андроедом в плане производительности?

продолжит тормозить?

dimon555 ★★★★★
()
Ответ на: комментарий от EXL

не могу нагуглить, но точно помню, что Oracle утверждал, что их jvm сильно быстрее даже AOT. Ну и, тащемта, dotnet с ngen действительно сзади.

Ford_Focus ★★★★★
()
Ответ на: комментарий от EXL

Вся эта компиляция — костыль, ведь даже с Dalvik андроид нормально работал, значит, и с OpenJDK нормально будет работать, тем более десктопная джава, меньше костылей.

HyperCOGENT
()

Ну теперь-то там точно будет жаба. И у оракла могут возникнуть обоснованные претензии.

Quasar ★★★★★
()
Ответ на: комментарий от KivApple

Ну надо же как-то продавать лопаты с более ёмкими батарейками. Вот и решили жабу притащить в ведроид.

Quasar ★★★★★
()
Ответ на: комментарий от EXL

На приложениях, которые на NDK сделаны, это вряд ли отразится. А таких немало.

Quasar ★★★★★
()

Все в магазин за люмиями!

Lavos ★★★★★
()
Ответ на: комментарий от templarrr

Получается, что да ) Но для этого нужно как минимум Cortex A72 брать с 8 гигами ) Правда текущий initial import openjdk довольно старенький, как минимум нет того, что добавили в 8-ку. Возможно это API 7-ки.

foror ★★★★★
() автор топика
Последнее исправление: foror (всего исправлений: 1)
Ответ на: комментарий от Quasar

Ну надо же как-то продавать лопаты с более ёмкими батарейками

Да я бы уже сейчас не отказался от более емкой батареи (думаю здесь найдутся люди, разделяющие мою точку зрения).

... Эти курвы впердолили 2700 mAh в Nexus 5X, отчего последний резвенько подыхает при включенном экране. Однако, надо отдать должное — при выключенном экране (режим простоя) график расхода батареи почти горизонтальный.

KennyMinigun ★★★★★
()

Ну теперь точно капец...

А... Вы тут о другом.

yacuken ★★★★
()
Ответ на: комментарий от KennyMinigun

Однако, надо отдать должное — при выключенном экране (режим простоя) график расхода батареи почти горизонтальный.

А зачем он такой нужен?

yacuken ★★★★
()

Вот он какой Network Computer.... 20 лет джвали!

Deleted
()
Ответ на: комментарий от dimon555

следующий шаг впилить xorg

Шутка черного юмора?
Только 5 лет как здыхались этого монстра, а ты предлагаешь его клонировать.

Deleted
()
Ответ на: комментарий от EXL

А как же компиляция с помощью ART в машкод?

Для баланса зла в мире ее портанут в openjdk, а назад в андроид не примут.

t184256 ★★★★★
()
Ответ на: комментарий от yacuken

Ты не поверишь, но он ждет звонков и push-уведомлений, считает шаги, дирижирует кучей wearables и музыку играет. Я бы с удовольствием взял бы себе маленький защищенный андроид-девайс и вовсе без экрана, в идеале — без единого порта.

То, что это все еще под ведроидом еще и неделю не садиться может — великая заслуга. А вот с экранами надо что-то делать.

t184256 ★★★★★
()
Последнее исправление: t184256 (всего исправлений: 1)

Ждем Netbeans и Eclipse для телефонов.

Polugnom ★★★★★
()
Ответ на: комментарий от yacuken

А зачем он такой нужен?

В кармане носить иногда таки приходится

KennyMinigun ★★★★★
()
Ответ на: комментарий от Quasar

Ну надо же как-то продавать лопаты с более ёмкими батарейками. Вот и решили жабу притащить в ведроид.

Так и без этого у андроида нет проблем с продажей более ёмких батарей, всё равно не хватает автономности.

cipher ★★★★★
()
Последнее исправление: cipher (всего исправлений: 1)

Успокойтесь, полоумные, никуда ART не денется, просто ре-организуют структуру зависимостей попутно.

Сказать «ART заменяют на OpenJDK» все равно что сказать «двигатель в автомобиле заменяют на станок по сборке двигателей»

Смысл коммитов в том, что Google выкидывает проприетарную оракловую Java и заменяет на OpenJDK

qrck ★★
()
Ответ на: комментарий от EXL

А как же компиляция с помощью ART в машкод? Что теперь будет с андроедом в плане производительности?

Никуда ART не денется. Он слишком хорошь, чтобы его взять и выкинуть. Но ART связан с JVM чуть более чем никак, т.к. ART компилирует Dalvik байткод в нативные машинные инструкции, а Dalvik байткод получается трансляцией JVM байткода в Dalvik на этапе генерации *.apk. Т.е. не смотря на ART, в *.apk файлах до сих пор живет Dalvik байткод. ART с JVM связан только очень косвенно.

qrck ★★
()
Ответ на: комментарий от qrck

Здесь позразумевалось ART (libart) -> JVM (libopenjdkjvm) конечно. А если оставить ART, то как быть с изменением классов на лету, все эти invoke dynamic и прочее? И что тогда это за зверь такой libopenjdkjvm?

foror ★★★★★
() автор топика
Последнее исправление: foror (всего исправлений: 1)
Ответ на: комментарий от foror

Reflection в Java появилась AFAIK в Java 5, так что в используемой в Android-е Java 6 она во всю поддерживается, и ART прекрасно ее сейчас умеет.

«Как они это сделали?» - это вопрос к Google или например Microsoft, т.к. ихний ngen умеет делать тоже самое с .NET байткодом. Смотрите исходники, оно все открыто (в том числе и для ngen-а afaik).

qrck ★★
()
Ответ на: комментарий от ii8_

«Reflection is commonly used by programs which require the ability to examine or __modify__ the runtime behavior of applications running in the Java virtual machine.»

https://docs.oracle.com/javase/tutorial/reflect/

А на том уровне, о котором вы говорите - я думаю на Android-е оно никому не нужно. (Более того - я бы специально запретил, из соображений безопасности)

qrck ★★
()
Последнее исправление: qrck (всего исправлений: 1)
Ответ на: комментарий от ii8_

У я себя нигде и не называл экспертом по Java, однако отсутствие опыта с Invoke Dynamic не делает меня полным дубом. В продакшене признаюсь, использовать java мне не приходилось, чему безумно рад. С# мне куда больше как язык нравится (а С++ ещё больше, но на нем мало кто сейчас пишет, увы). А для JVM/личных Android проектов я подсел на Kotlin

qrck ★★
()
Последнее исправление: qrck (всего исправлений: 1)

Сколько можно прыгать туда-сюда?

Sparx ★★
()
Ответ на: комментарий от qrck

извини, погорячился с дубом.
JetBrain всегда толковые проекты предлагает. Дай бог Kotlin обретёт популярность и будет развиваться.
Хотя Kotlin - это всё таже java и компилируется в итоге в тот же байт код, что и обычные java программы, только с добавлением пары аннотаций.

ii8_ ★★★★
()
Последнее исправление: ii8_ (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.