Logo tr.androidermagazine.com
Logo tr.androidermagazine.com

Haftasonu projesi: android akıllı telefonun için gecko mozilla çizme inşa

İçindekiler:

Anonim

Ben bir kodlayıcı değilim. G g’den G’yi çok az tanıyorum ve adb'nin neden işe yaramadığını merak ettiğimi hatırlayamıyorum, sadece USB hata ayıklamayı açmayı unuttuğumu keşfetmek için yeniden. Burada bir kutuda Linux var, ancak Jerry'ye beş dakikalık bir sürede yarım düzine soru sorma havasında olduğumda bunu kullanıyorum.

Ayrıca, benim bir boynum yok.

Peki, geniş, geniş spor dünyasında MacBook Air'ime Xcode indirirken ne yapıyorum (bu bahardan beri hayatım boyunca bir Windows adamı olacağım aklıma gelmedi), Git reposundan senkronize etme, kod derleme ve bir işletim sistemini yanıp sönme Şu ana kadar bilinçli olarak görmezden geldim - özellikle hasta bir çocukla uğraşarak 24 saat geçirdiğim, hasta bir arkadaşım için endişelendiğim ve muhtemelen gerçek işimi görmezden geldiğim için olası bir kasırgaya hazırlıklı olduğum için?

Görünüşe göre yanıp sönme ile ilgili bir sorunum var. Ve işte bu yüzden kendimi son zamanlarda Samsung Nexus S’de "Gecko" olarak da bilinen Mozilla’nın yavru kuş işletim sistemini kullanırken buldum.

Boot to Gecko projesine hoş geldiniz.

Dediğim gibi ben bir kodlayıcı değilim. Ama bazı şeylerle uğraşmayı seviyorum. Ve bunu yapmayı başardım, genç kızlarımın da söylediği gibi, hepsi … kendileri tarafından. Ve sen de yapabilirsin.

Bekle - bunu neden yapıyorsun?

Haftasonu Projelerimizi arayacağımız serideki ilk bölüm. Başka türlü denemeyeceğiniz şeyler. Ama yapabilirsek, sen de yapabilirsin.

Bununla birlikte, burada sizin için yapmayacağım birkaç şey var. Bu, Boot to Gecko projesinin nasıl inşa edileceği ve yanıp söneceğine dair ayrıntılı bir görünüm olmayacak. Size deneyimlerimin geniş vuruşunu vereceğim. Mozilla'nın bazı mükemmel belgeleri var ve eğer bunu deneyecekseniz gerçekten okumalısınız. (Ayrıca çeviri işleminde her şeyi doğru yapamama ihtimalim de yoktur.)

Yapmayacağım bir diğer şey, sizi ClockworkMod olsa da başka birinin yapısına işaret ediyor. Bunu kendi başınıza arayabilirsiniz. Yapmak istediğim şey aslında bunu kendi telefonumla bağlantım üzerine inşa etmemdi.

Ve ben de öyle yaptım.

İhtiyacınız olan bağlantılar

Google senin arkadaşın. "B2G" için basit bir arama ihtiyacım olan her şeyi buldu.

  • Mozilla - Boot to Gecko (B2G’nin konu dışı açıklaması için)
  • Mozilla Geliştirici Ağı'ndaki B2G (asıl işin başladığı yer burasıdır)
  • Boot ve Gecko'ya kurulum yapma

Tamam - şimdi bunu ne halt ediyorsun?

Sıfırdan inşa etmek için, Mozilla'ya göre, bir Mac'e veya Linux makineye ihtiyacınız var. İkisini de burada buldum. Ancak Mac talimatları sadece daha kolay görünüyordu. (Bunda utanılacak bir şey yok, değil mi?) Ama bu da mantıklı. Muhtemelen Linux kullanıyorsanız, Mozilla'nın listelendiği tüm araçları kolayca yükleyebilirsiniz. Ben mi? Çok değil. Yani Mac öyleydi.

Benim için bu kadar basitti: Mac App Store'dan Xcode'u yükleyin, sonra Terminal'i ateşleyin ve birkaç komut çalıştırın. Bu konuda Android olmak için yeterli miktarda kontrol yaptım. Mozilla'nın ihtiyacınız olan her şeyi yükleyen harika bir senaryosu var. Daha sonra git deposunu senkronize eder, kodu derler ve diğer özel ROM'lar gibi Android cihazınıza flash olarak gönderirsiniz. (Mozilla'nın da bu son bölüm için bir senaryosu var, işleri daha da kolaylaştırıyor.)

Yaptığınız hedef cihaza kadar seçenekleriniz var. Mozilla onları üç katmana ayırdı:

  • Tier 1: Otoro (Mozilla'nın kullandığı bir çeşit cihaz); Pandaboard; bir ARM veya x86 emülatörü; veya masaüstü. Aradığım şey değil.
  • Katman 2: Samsung Nexus S ve Nexus S 4G. Burada ortak bir tema hissediyorum. Kolayca açılabilir telefonlar ve Mozilla, bunların "sekonder" olarak değişiklikleri topladığını söylüyor. Döşenecek bir Nexus S var, bu yüzden bunun için gittim.
  • Tier 3: Samsung Galaxy S2 ve Galaxy Nexus. Millet kandırıyor, ama Tier 2 en iyi şansınız.

Demek savaşın yarısı bu. Şimdi indirmek, B2G derlemek ve flash.

Orada da birkaç seçenek vardı. Birincisi Linux kutusunun üzerine inşa etmektir. Mozilla, ihtiyaç duyacağınız tüm gerekli araçları açıklar, ancak size onları nereden alacağınızı göstermez. Bir Linux n00b olmam, bu kötü bir şey. Bir distro veya diğerini kullanan ineklerin geri kalanının çoğu için, daha az olması gerekir.

Diğer seçenek bir Mac üzerinde inşa etmektir. Mozilla aptalca basitleştirdi.

Peki nasıl yaptın?

Yine, bunu Mac'te yaptım. Ve sakallı boynumun bile takip edebildiği birkaç basit adım vardı.

  1. Mac için geliştirme ortamı olan Xcode'u yüklemek zorunda kaldım.
  2. Mac için Homebrew'i kurdum.
  3. Mozilla'nın sağladığı, diğer önkoşulları kontrol eden ve gerekirse kurmamı isteyen bir komut dosyası çalıştırdım.

Bu noktada, Mozilla'nın talimatlarının tek yapmam gereken Xcode'u yüklemek ve ardından betiği çalıştırmak olduğunu gösteriyor gibi göründüğünü not edeceğim; Gerisi kendine bakardı. Ama önce Homebrew'i kendi kurmak zorunda kaldım. Yaptığım (ya da yapmadığım) ya da ne yaptığım yüzünden mi emin değilim. Ama bu benim için çalıştı.

Sıradaki: Tüm kodu Git'ten al. Bu, birkaç satır daha kopyalayıp Terminal'e yapıştırmak kadar basitti. Güzel.

Ardından: Derleyin.

Şimdi, bu son birkaç adım bir süre aldı. Ne kadar olduğundan emin değilim. Gittim ve bir şeyler yaptım. Biraz kahve yaptım. Bazı işleri yaptım. Bir kitap yazdı. Benim küçük MacBook Air'de biraz zaman aldı. Bunu bekliyordum. Bu aşırı zor bir proje değil, ama aşırı hızlı da değil. İşlerin derslerini yürütmesine izin verdim ve MBA'imin yeni "B2G" dizininde yanıp sönen bir resimle sonuçlandı.

Yanıp sönme zamanı

Yani. O Nexus S'yi yakalama zamanı Elbette kilidi açılmış bir bootloader'a sahip olmanız gerekecek ve Android 4.0 Ice Cream Sandwich'i çalıştırması gerekiyor. (Mozilla Jelly Bean hakkında hiçbir şey söylemez, ama ben de onunla çalışmasını sağladım. Çok şaşırtıcı değil.)

Telefonu fastboot moduna geçirin ve prize takın. Android ile daha önce yapmadığımız hiçbir şey, doğru /

Şimdi, yine, Mozilla bunu gerçekten kolaylaştırdı. Yol değişkenlerimi tamir etmekten rahatsız olmadım, bu yüzden adb ve fastboot normalde Android SDK'mın bir klasöründe yaşıyor ve bu kadar. Bununla başa çıkabilirim. Mozilla akıllıca bunların hepsini içeriyordu. Ama daha da iyisi, her şeyi yapan küçük bir senaryo yazmasıdır. Bootloader'ın kilidinin açılıp açılmadığını kontrol eder. Silmesi gereken tüm bölümleri siler. Sonra yeni görüntüleri yanıp söner. Tamamen uygulamalı. Bu kendim yapamadığım bir şey değildi, ama arada bir tembellik yapmadığım sürece ben bir hiçim. Şerefe, Mozilla.

Yeniden başlat ve bom. Gecko'ya boot ettik.

Bir araya getirin ve neyin var?

Ve şimdi, emeğimizin meyveleri için.

Alt çizgi

Demek Mozilla'nın Samsung Nexus S'deki Gecko'ya yaptığı çizme bu. Aslında küçük bir proje değil. Birkaç saat sürdü, çalışan bir Nexus S ve biraz da sabit disk alanı vardı, ama beyine çok fazla vergi gelmiyordu. Telefona yanıp söndüğünde, özel Android kurtarma işlemlerini kullanarak yedekleyebilir, sonra istediğin gibi gel ve gidebilirsin.

Bunu zorluk ölçeğinde 10 üzerinden 6 olarak verirdim, çünkü kod derleme konusunda ne yaptığımı gerçekten bilmiyorum. Ama talimatları çok iyi takip ediyorum ve Mozilla işleri güzel ve kolay hale getirdi. Bu kendin deneyebilirsin.

Bağlantılarımızı kullanarak satın alımlar için komisyon kazanabiliriz. Daha fazla bilgi edin.