Android'de linux uygulamaları

Arkadaşlar android linux tabanlı ise linux uygulamaları neden Android’de çalışmaz daha doğrusu çalişir mi ?

1 Beğeni

Linux, bir çekirdektir. Üzerinde çalışabilen uygulama formatı yoktur. Mesela Linux tabanlı bir işletim sistemi olan Ubuntu üstünde uygulamalar deb paketleriyle kurulurken arch linux üzerinde farklı bir dosyayla kurulmaktadır.

Yani “Linux Uygulaması” diye bir tabir yanlıştır, “Ubuntu Uygulaması” ya da “Android Uygulaması” tabirleri doğrudur.

o zaman hiç bilinmedik bir linux dağıtımında hiç bir şey çalışmayacak değil mi?

Hayır, standart yollardan değil de farklı yollardan da kurulabilir program. Ayrıca genellikle linux kurulum dosyaları ya deb ya da rpm olarak dağıtılır. Veya sistemden bağımsız şekilde sıkıştırılmış dosyalar dağıtılır. Ayrıca linux dağıtımları genelde birbirinden türetildiği için deb veya rpm standart denilebilir. Mesela Linux Mint Ubuntu tabanlı olduğu için deb kullanır, Arch Linux tabanlı başka bir sistem rpm kullanabilir.

https://www.quora.com/Why-dont-Android-applications-work-on-Linux-and-vice-versa

Sorunuzu google’a ingilizce yazınca bunlar çıkıyor.

Uzantıların okunamaması ile alakalı.Android sadece belli uzantıları çalıştırır ve Linux’dan türemesi çok fayda etmez

ELF’i nasil tanimliyoruz o halde?

Uygulamanin tanimi da onemli tabi. ls’i, true’yu sayiyor muyuz? Ya peki nginx, python?

tar gibi gozukuyor. Ama kullandiklari dosyalardan ziyade paket yoneticilerinin kendilerinden bahsetmek daha mantikli olur: apt ve pacman.

Hard diske kopyaladiklari dosyalar cogu zaman neredeyse birebir ayni olan (misal) Ubuntu paketleri ile Arch paketlerini ayirmaktansa uygulamalari gerektirdikleri major alt sistemlere gore ayirmak daha mantikli olabilir: “Linux (konsol) uygulamalari”, “X/Wayland uygulamalari”, “Qt/KDE uygulamalari”, “Android uygulamalari”.

C uygulamalarinin temelini olusturan bir libc oldugu surece temel GNU uygulamalarinin (coreutils) buyuk bir cogunlugu calisir. Buna birkac yaygin kutuphaneyi eklersek, dunya uzerindeki bilgisayarlarinin cogunun (tahminen) kullandigi uygulama setlerine erisebiliriz. (Web sunuculari, programlama dilleri derleyicileri/yorumlayicilari/calistiricilari, etc.)

Linux’ta uzanti kavrami yok. Dosya formatlarindan bahsedebiliriz; anladigim kadariyla Android apk icindeki dex’leri ART isteyen ELF’lere ceviriyor. Linux’tan turemesinin faydasi surada, dogru Android uygulamasi yuklendigi takdirde Linux/libc uygulamalarini port edip calistirmak cok kolay oluyor.

2 Beğeni

Üst üste aynı soru ama, linux nasıl okunuyor? :grinning:

Ben “linüks” diyorum o yüzden linux’ten oluyor. Ayrıca “linaks” diyen de duydum.

2 Beğeni

Genel olarak şöyle bir bilgi vereyim.

Normalde “Johansen” gibi bir soyadının ailenin nereli olmasına gore telaffuzu değişiyor.

Linux aslında ingilizcenin kelime dağarcığı içerisine tamamen girmediği için telaffuzu değişebilir.

Bunun telaffuzunu yaparkende genel olarak ingilizce kuralları ele alır. Torvaldsin oluşturduğu bir kelime olarak düşünürsek onun telaffuz edisidir.

Türkçe dili içerisinde böyle bir şey yok. Onlarda aksan dediğimiz mevzu devre içerisine girdiği için harfler yan yana olduğu durumlarda farklı sesler ortaya çıktığı için bu durum söz konusudur.

Sizin bahsetmiş olduğunuz “linaks” ve “linüks” bu sebepten dolayı bu şekilde okunuyor.

Bir aktris vardı soyadı johansen fakat ingiliz ya da amerikan aksanında da “cohensın” şeklinde okunuyor.
“yohensın” değil.

:thinking: Neden QT/KDE, Xorg/Wayland’in disinda? QT uygulamalari Xorg/Wayland ustunde calisabiliyor.

Bunun acilimini buraya geceyim, sayet ne oldugunu bulmasi zor oldu.

Android Runtime

Executable and Linkable Format - Wikipedia.

Linux’un derinlerine daldikca @aib 'in postlarini daha kolay anlamaya basladim. :slight_smile:

Bu uygulama, işlemci mimarisi¹ ve debian uyumluluğu olan çoğu uygulamayı çalıştırabilir. Öncelikle uygulamanın kendi reposunu kullanmanızı öneririm.

Dipnot 1: Çoğu Android cihazın mimarisi aarch64(arm64)'tür.

Ve hepsi de Linux ustunde calisabiliyor. Orada programlari en ust seviye gereksinimlerine gore ayirmali dedim (sanirim; zaman gecti). Kadin/erkek yerine Turk/Ingiliz veya Istanbullu/Konyali olarak ayirmak gibi. Istanbullu birinin Turk veya Turk birinin Konyali olmasini engellemiyor.

Mumkun oldugunca linkli, aciklamali yazmaya calisiyorum ama bazen dagilip hidra gibi hissediyorum kendimi.

Mesela “Linux komut satirinda firewall calistirmak isteyen” insana netfilter mi anlatirsin, genel olarak network stack’lerini mi, ufw mi yoksa tun/tap mi. (Bu arada ilk ikisi sorulan seyin neden mantiksiz/imkansiz oldugunu izah ederken son ikisi yapmanin birer yontemini buluyor.)

“Sadece soranin harcadigi kadar zaman/ilgi harca” prensibi var bi de. O da yukaridaki ornekteki gibi sordugunun mantiksiz oldugunu fark edecek kadar bile dusunmemis/ogrenmemis insana 4 ayri teknolojiyi aciklamami engelliyor.

2 Beğeni

Kimi zaman adini vermen bile cok buyuk nimet oluyor hocam, bugun ne yapsam sorusuna cevap oluyor. Ugrasip didinip oradan buradan buluyorum, benim icin daha degerli oluyor. Da surayi anlayamadim:

KDE ile QT’nin iliskisi, KDE’nin QT uygulamalari calistirmasi diye biliyorum. Ama qt uygulamasi gnome’da da calisir, XFCE’de de. Niye GTK/Gnome yok mesela? (KDE sadece bir desktop environment degil mi acaba? :thinking: )

Anlamadigim ikinci nokta, QT yazdiysak niye Gtk da yazmadik? Qt X/Wayland icin widget toolkit degil mi? Benim kafamda soyle olurdu: “Konsol Uygulamalari”, “Xorg/Wayland Uygulamalari”, “Mobil Uygulamalar”.

1 Beğeni

Ben onu dun aksamdan beri “Qt/GTK” diye okuyorum :S

Bence olur.

X’in de USER32/GDI32 gibi bir spesifik GUI API’si var yalniz.

1 Beğeni