🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.java
7 messages
7 total messages Started by Borneq Mon, 06 Jul 2015 07:28
Jakie narzędzie kompiluje na Dalvik?
#152009
Author: Borneq
Date: Mon, 06 Jul 2015 07:28
52 bytes
Jakieś z SDK, ale nie mogę znaleźć nigdzie opisu
Re: Jakie =?ISO-8859-2?Q?narzêdzie_kompiluje_na_Dalvik??
#152010
Author: Borneq
Date: Tue, 07 Jul 2015 12:34
9 lines
674 bytes
W dniu 2015-07-07 o 08:57, Kamil pisze:
> W dniu poniedzia³ek, 6 lipca 2015 07:28:34 UTC+2 u¿ytkownik Borneq napisa³:
>> Jakie¶ z SDK, ale nie mogê znale¼æ nigdzie opisu
>
> Dalvik maszyn± wirtualn± dla systemu Android. Kod napisany w Javie mo¿na kompilowaæ przy u¿yciu Android SDK (https://developer.android.com/sdk/installing/index.html).
> Na stronie https://developer.android.com, w sekcji "Develop" znajdziesz opis wszystkiego co bêdzie potrzebne do zbudowania projektu.
>
Czy kompiluje Javê czy pliki klas ju¿ skompilowane? Pytam siê, bo chyba
mo¿na do projektu do³±czyæ jara z klasami. Z drugiej strony, czêsto taki
jar nie wchodzi do apki bo jest ju¿ w smartfonie.
Re: Jakie narzędzie kompiluje na Dalvik?
#152011
Author: Pit
Date: Tue, 07 Jul 2015 14:42
15 lines
1079 bytes
Dnia 07.07.2015 Borneq <borneq@antyspam.hidden.pl> napisał/a:
> Czy kompiluje Javę czy pliki klas już skompilowane? Pytam się, bo chyba
> można do projektu dołączyć jara z klasami. Z drugiej strony, często taki
> jar nie wchodzi do apki bo jest już w smartfonie.

Można i tak i tak. Można kompilować kod źródłowy w Javie a można zrobić
rekompilację bytecode z gotowych plików *.class (skompilowanych na
konwencjonalną VM Javy) na Dalvika. Przy kompilacji ze źródeł w Javie i tak
proces jest dwuetapowy, czyli najpierw na podstawie plików *.java powstają
pliki *.class a potem z plików *.class (java bytecode) a potem z nich
powstają *.dex lub *.odex (dalvik bytecode).
Swoją drogą w najnowszych Androidach Dalvik został zastąpiony przez ART
(który dla "starych" aplikacji rekompiluje dalvik bytecode na kod natywny
więc kompatybilność wsteczna jest zachowana, apki zrobione na Dalvika działają
też na ART ale w drugą stronę już to nie działa, do uruchamiania apek
skompilowanych na ART trzeba mieć Androida co najmniej w wersji 4.4).
Re: Jakie =?ISO-8859-2?Q?narzêdzie_kompiluje_na_Dalvik??
#152012
Author: Borneq
Date: Tue, 07 Jul 2015 17:12
8 lines
516 bytes
W dniu 2015-07-07 o 16:23, Kamil pisze:
> A tak w ogóle, to w czym tak na prawdê tkwi problem? Pytam, poniewa¿ nie potrafiê okre¶liæ celu Twojego pytania. Mo¿e móg³by¶ przedstawisz zarys sytuacji, w jakiej jeste¶, jaki jest problem i jakiego outputu oczekujesz?

To zwi±zane z pojawiaj±cym siê b³êdem "Conversion to Dalvik format
failed with error 1", pytanie, które narzêdzie za to odpowiada?
Ale to chyba b³±d Andmore, bo gdy wróci³em do ADT, b³±d, przynajmniej
dla poprawnych projektów, przesta³ siê pojawiaæ.

Re: Jakie narzędzie kompiluje na Dalvik?
#152014
Author: Pit
Date: Tue, 07 Jul 2015 22:05
27 lines
1330 bytes
Dnia 07.07.2015 Borneq <borneq@antyspam.hidden.pl> napisał/a:
> W dniu 2015-07-07 o 21:47, Arivald pisze:
>> Java kompiluje do .class, a potem program z androidowego SDK, dx, pakuje
>> je i konwertuje do .dex. A po instalacji na Lollipopie, dexy są
>> kompilowane dla ART.
>
> Co to ART? Jeszcze inne bajtkody?

Tu masz info:
http://source.android.com/devices/tech/dalvik/index.html
Generalnie to jest natywne RT (a nie wirtualne jak Dalvik), aplikacja nie
jest uruchamiana na maszynie wirtualnej, tylko jest kompilowana do
natywnego kodu.

>> Dodatkowo można dołączać binarne biblioteki .so (jak dllki), ale tu już
>> więcej zabawy.
>
> No właśnie, na Androidzie nic nie robiłem z JNI. A tymczasem w AndEngine
> na githubie jest parę plików w .c i .cpp. Dodatkowo linuxowe .mk i .sh.
> Do tej pory działałem pod Windows z Eclipse, teraz musiał bym postawić
> całe środowisko pod Linuxem i nie wiem jak dołączać .so do .apk

Tu nawet nie chodzi o JNI (choć to też można), można po prostu produkować
kod natywny na daną architekturę w celu zwiększenia wydajności (albo
zaimplementowania czegoś, czego się nie da zrobić inaczej, na przykład
obsługa jakiegoś nietypowego urządzenia podłączonego przez USB). Służy do
tego Android NDK:
https://developer.android.com/tools/sdk/ndk/index.html
Re: Jakie =?ISO-8859-2?Q?narzêdzie_kompiluje_na_Dalvik??
#152013
Author: Borneq
Date: Tue, 07 Jul 2015 23:38
14 lines
617 bytes
W dniu 2015-07-07 o 21:47, Arivald pisze:
> Java kompiluje do .class, a potem program z androidowego SDK, dx, pakuje
> je i konwertuje do .dex. A po instalacji na Lollipopie, dexy s±
> kompilowane dla ART.

Co to ART? Jeszcze inne bajtkody?

> Dodatkowo mo¿na do³±czaæ binarne biblioteki .so (jak dllki), ale tu ju¿
> wiêcej zabawy.

No w³a¶nie, na Androidzie nic nie robi³em z JNI. A tymczasem w AndEngine
na githubie jest parê plików w .c i .cpp. Dodatkowo linuxowe .mk i .sh.
Do tej pory dzia³a³em pod Windows z Eclipse, teraz musia³ bym postawiæ
ca³e ¶rodowisko pod Linuxem i nie wiem jak do³±czaæ .so do .apk
Re: Jakie =?ISO-8859-2?Q?narzêdzie_kompiluje_na_Dalvik??
#152015
Author: Borneq
Date: Wed, 08 Jul 2015 12:16
11 lines
525 bytes
W dniu 2015-07-08 o 06:34, Arivald pisze:
> A to raczej wymaga Android NDK (native development kit).
> Z NDK nie bawi³em, nie wiem czy tu development zale¿y od systemu
> (win/lin/ios) czy nie, ale make i shella mo¿na spokojnie zainstalowaæ
> pod Winows.
>
> https://developer.android.com/ndk/index.html

To super, pod VirtualBoxem mam problem z USB3 a pod VMWare Playerem jest
taka ma³a rozdzielczo¶æ ekranu, ¿e nie daje siê zainstalowaæ Kubuntu.
make i shell da siê zainstalowaæ, ale jak skompilowaæ do .so i dodaæ do apk?
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads