Rehber Custom Rom Nasıl Portlanır ? Detaylı ve Basit Anlatım

Mr.cakmak

Tecrübeli Üye
Tecrübeli Üye
MIUI Sever
SMS Onaylı
Adım
Mr.Cakmak
Cihazım
Redmi Note8 pro
Yaş
30
Konum
-
Katılım
8 Mart 2020
Konular
5
Mesajlar
912
Tepkime puanı
718
Puanları
108
Merhaba MIUI Türkiye kullanıcıları
Bu yazımda Qualcomm işlemcili farklı bir cihazın yazılımını kendi cihazımıza nasıl uyarlayabileceğimizi anlatacağım.

Anlatıma geçmeden önce bir önceki yazımda anlattığım derleme işlemi ile portlama işlemi arasındaki farka göz atalım. Derleme işlemi devasa büyüklükte paketlenmemiş açık kaynak kodları ile cihaz kaynak kodlarınızın harmanlanmasıdır. Portlama işlemi ise derlenmiş iki yazılımın (sizin cihazınız ve hedef cihaz) birbiri ile uyumlu hale getirilmesi olarak düşünülebilir.

Resimleri görmek için giriş yapmanız gerekmektedir.


ROM portlamak, derleme işlemine kıyasla stabilitesi düşük bir işlemdir. Boot ettiğiniz (çalıştırdığınız) her yazılım hatalar ile birlikte gelecektir. Son kısımda bu hataların çözümlerine göz atacağız. ROM Portlamayı adım adım inceleyecek olursak ;

A-) Boot etme ( çalıştırma )
8=) Hata Giderme
C-) Cihaz bilgilerini girme

Bu adımları nasıl gerçekleştirebileceğimize yakından bakacağız. Öncelikle portlama işlemi için gerekli araçlara bakalım.

1-) Cihazımız ve cihazımıza ait custom/stock rom
2-) Hedef cihazımız ve hedef cihazımıza ait custom/stock rom
( Cihazımızın işlemcileri aynı veye benzer tabanda olmalı / Örneğin cihazımız Snapdragon 730 işlemcisi ise hedef cihazımızda Snapdragon 730 olmalı, alt-orta segmentte bazı işlemcilerin tabanları/lib dosyaları aynı olduğu için boot işlemi gerçekleşebilir, uyuma göz atmanız gerekmektedir Önreğin Snapdragon 410/ 600 serisi uyumu)
3-) NotePad++
4-) 7Zip / Winrar
5-) Android Image Kitchen ( AIK )
6-) Windows veya Linux İşletim Sistemine Sahip Bilgisayar
7-) Aşağıda belirttiğim dosyalara göre System.img Unpack Repack ( Açma ve Kapatma ) , system.new.dat.br 'den system.new.dat ve system.img dönüştürme aracı vs.

Not: Seçeceğimiz custom/stock romların Android sürümü birbiri ile aynı olacaktır aksi takdir kernel uyumsuzluğu nedeni ile yazılım başlatılmayacaktır.


Öncelikle Android cihazlarımıza yüklediğimiz ROM'ların içeriğine göz atalım, klasörleri tanıyalım.

Resimleri görmek için giriş yapmanız gerekmektedir.


Burada belirttiğim dosya ve klasörler ROM'dan ROM'a farklılık gösterebilmektedir. Örneğin "system.new.dat.br - system.patch.dat - system.transfer.list" üçlüsü yerine system.img veya system.new.dat ve system.transfer.list " dosyaları bulunabilir. Firmware-update klasörü bulunmayabilir.

firmware-Update : Cihaza özel donanım imajlarının bulunduğu kısımdır. Portlayacağınız ROM'dan kesinlikle silmeniz gerekmektedir. Eğer bu şekilde portladığınız zipi TWRP'den flaşlarsanız cihazınız hardbrick olacaktır.

META-INF:
Bu klasörün içerisinde bulunan META-INF/com/google/android/updater-script dosyası bizim için önem arz ediyor. Bu dosya TWRP'ye nelerin yapılacağını söyleyen komut dizilerini içeriyor. Bu dosyanın üzerinde düzenleme yaparak TWRP'ye neler yapacağını söyleyeceğiz.

System.new.dat.br - system.patch.dat - system.transfer.list : Bu dosyalama yapısı sürekli değişim halindedir. Güncel olarak kullanılan dosyalama türü şu anda system.new.dat.br formatıdır. Bu dosyayı öncelikle system.new.dat'a daha sonra system.img'ye dönüştürdükten sonra unpack /açma işlemini gerçekleştirebiliriz. Bu dosya sistem cihazınızın ana dizinine dosya göndermenizi sağlar. Dosyayı açtığınızda örneğin şu klasörleri görebilirsiniz.

system/priv-app/Chrome/chrome.apk
/init.rc

system.new.dat.br klasörünü açanTve yükleyen TWRP bu dosyanın içinde bulunan Chrome Tarayıcısını sistem uygulaması olarak sisteme yüklüyor. Bir diğer klasörde ise ana dizinde bulunan init.rc dosyası değiştiriliyor/ekleniyor. Belirttiğim gibi sizin hedef veya ana rom dosyanızda dosyalama tipi farklı olabilir yapacağınız işlemler sonucu bu dosyayı açıp kapattıktan sonra tekrar zip dosyanıza aktardığınızda sıkıntı olmayacaktır.

vendor: Nispeten eski cihazlarda rastlamadığımız vendor imaj/br dosyaları Android'in yeni çözümü olarak düşünülebilir. EFS/IMEI GPS,sensör ve diğer donanım parçalarının yazılım entegrasyonu yerine ayrı bir alanda çalışmasına olanak sağlar. Android sürümü uyumlu iki ROM dosyanız bulunuyor ise cihazınızdan vendor dosyasını silmeyerek , hedef romdaki vendor dosyasını silerek bu işlemi deneyebilirsiniz.

-

Dosyaları kısaca tanıdığıma göre yapacağımız işlemlere geçelim. Yapacağımız işlemler boot.img dosyasını düzenlemek, hataları gidermek ve ince ayarları yapmak.

A-) Boot.img ve Updater-script dosyasını düzenlemek


Boot.img dosyası yazılımınızı, donanımıza entegre ederek sistemi açan ana imaj dosyasıdır. Yapacağımız küçük değişiklikler ile yazılımı başlatmayı başarabiliriz. Bunun için öncelikle Android Image Kitchen programımızı/zip dosyamızı indirelim. İndirmek için tıklayınız.

Not: Android Image Kitchen boot ve recovery.img dosyalarını Windows ve Linux işletim sistemlerinde açma ve kapama işlemini gerçekleştiren araç/tooldur. Eğer boot.img dosyanız açılmıyor/eksik açılıyor ise internet üzerinde aratacağınız farklı bir araç ile deneyebilirsiniz. Ancak genellikle üreticiler boot.img dosyasını imzalarlar/şifrelerler de diyebiliriz. Bu nedenle boot.img unsign tool yazarak gerekli araçları indirerek bu imzayı kaldırmanız gerekebilir, ancak bu işlemler genellikle başarısızlık ile sonuçlanır.

Masaüstüne iki adet klasör açalım. Ben adlarını kolay anlamam için klasör adlarının birine "Base/Taban" diğerine "Port/Hedef" adlandırmasını veriyorum. Her iki klasörün içerisine Android Image Kitchen zipinin içindeki dosyaları aktaralım.

Base/Taban klasörümün içerisine kendi cihazımın rom dosyasının içindeki boot.img dosyasını aktaralım. Port/Hedef klasörüne ise hedeflediğimiz cihazın yazılımın içindeki boot.img dosyasını aktaralım.

Her iki dosyada da boot.img dosyasını tutarak unpackimg.bat dosyasının üstüne sürükleyelim. İşlem başlayacak split_img adında klasör yaratılacaktır. Bu dosyanın içerisinde bulunan boot.img-zImage ve boot.img-dtb dosyalarını Base/Taban'dan Port/Hedef/split_img klasörünün içerisine aktaralım.

Bu işlem çoğu custom romu port etmek için yeterli olacaktır, ancak boot.img üzerinde düzenlemelerimize devam edelim. Base ve Port / ramdisk klasörünün içeriğine girelim ve fstab.qcom dosyalarını Notepad++ ile açalım.
Hedef romdaki aşağıdaki kodlar arasındaki satırların tümünü silelim, base fstab.qcom dosyamızdaki ilgili yerdeki kodlar ile değiştirelim. Eğer boot işlemi (repack işleminden sonra aşağıda anlatıcam) gerçekleşmez ise fstab.qcom dosyasını tamamen değiştirmeyi deneyebilirsiniz.

/dev/block/bootdevice (dahil)
/device(s) (dahil değil)


Bu işlemler sonucunda boot.img dosyanızı tekrar tutarak bu sefer repackimg.bat dosyasını sürükleyin size image-new.img adında portlanmış boot imajı verecektir. Bu dosyanın adını boot.img olarak değiştirin ve hedef rom zipiniz içindeki boot.img ile yer değiştirin. Hedef ROM zipini TWRP üzerinden flaşlayın yazılımın açılıp açılmadığını kontrol edin. Eğer yazılım açılmıyorsa hedef romdan aldığınız unpack ettiğiniz boot.img dosyasında bulunan init.rc, uneventd.rc, file_contexts, init.target.rc dosyalarını base/taban rom ile karşılaştırın, eksik satırları giderip tekrar boot etmeyi deneyin.

Updater-Script düzenleme / anlama

Updater-script dosyası hedef rom dosyanızın META-INF/com/google/android klasörünün içerisinde bulunur. Yukarıdaki işlemler sonucu TWRP'de portladığınız yazılımı yüklerken hata alıyor iseniz sorun iki kaynaktan olabilir.

-META INF içerisinde bulunan updater-script kodlarında cihaza özel yazılım yapacağı kodların bulunması (aşağıda çözümüne göz atacağız)
-Hedef romun özel imza taşıyor olması ( Zip imzasını kaldırmak için Google'da zip unsign tool xda yazarak çözümlere göz atabilirsiniz.)


Bazı updater-script kodlarında

getprop("ro.product.device") == "davinci" || abort("E3004: This package is for \"davinci\" devices; this is a \"" + getprop("ro.product.device") + "\"."); veya get device kodları bulunur. Cihazınızın kod adı bununla eşleşmiyor ise TWRP'de yükleme yapılmaz bu nedenle bu satırları updater-scriptten silelim.

Örneğin hedef rom dosyanızda belirttiğim gibi system.new.dat.br - transfer.list - patch.dat - üçlüsü bulunuyor. Sizin updater-script kodunuzda bu dosyaları yüklemesini TWRP'ye öğreten şu kodlar bulunur.

ui_print("Patching system image unconditionally...");
block_image_update("/dev/block/bootdevice/by-name/system", package_extract_file("system.transfer.list"), "system.new.dat.br", "system.patch.dat") ||
abort("E1001: Failed to update system image.");

Buradaki kodları inceleyelim. ui_print("xxxxxxx") komutu sadece yazı göstermeye, kullanıcıya şu an ne yapıldığını TWRP ekranında gösteren komuttur.
Hemen alt satırda ise block_image_update komutu ile imaj dosyasını kaynak ve hedef göstererek güncelleme işlemi gerçekleştirilir. Kodun devamından şunu anlıyoruz.
ZIP içerisinde bulunan system.transfer.list"), "system.new.dat.br", "system.patch.dat dosyalarını, cihazın içerisindeki /dev/block/bootdevice/by-name/system dizinine aktar.

Bir örneği de boot.img dosyası için bakalım.


package_extract_file("boot.img", "/dev/block/bootdevice/by-name/boot");

Bu şekilde sizde dosya yapılarını değiştirseniz bile yazacağınız script kodları ile zipi farklı şekilde flaşlamanın yollarını çözebilirsiniz.

8=) Hata Giderme

Yazılımı portladığınızda ve cihazınızda açıldığında birçok hata ile karşı karşıya kalacaksınız/kalabilirsiniz. Wi-Fi açılmama/kapanmama, RIL/IMEI sorunu, Mobil Veri Sorunu, Kamera Açılmama/ Video kaydetmeme gibi gibi gibi. Tonlarca hata sizi bekliyor ve bu çözümleri cihazınızın stock/custom romunda bulunan dosyalar ile çözümlemeye çalışacağız.

NOT: Söylemem gerekirki portlamanın en güzel kısmı burası iken en zorlu kısmı da burasıdır. Yapacağınız işlemlerde cihaz boot olmayabilir/yazılım çalışmayabilir açılış ekranı dönebilir. Bu yüzden işlemleri tek tek deneyin flaşlayın açılmazsa yaptığınız işlemi geri alın başka çözümler arayın. Böylelikle yazılımın neden boot olmadığını anlayabilirsiniz.

Hedef ve taban romunuzda system.new.dat.br üçlüsü var ve bunu unpack/açıp repack/kapatmak istiyorsanız google'a how to system.new.dat.br unpack/repack yazarak veya system.img imajı var how to unpack system.img xda yazarak belirtilen araçları/toolları kullanabilirsiniz.

Hedef klasörünün içerisinde bulunan system/bin klasöründe eksik bulunan dosyaları base/taban romunuzdan giderin.

Hata çözümleri :

Sensör :

boot.img içindeki aşağıdaki dosyaların eksik satırlarına göz atın.

uneventd.qcom.rc
uneventd.rc

Aşağıdaki dosyaları base/port ile değiştirin
system/lib/hw/sensors.msm****.so (veya sensors.lsm6db0.so)
system/lib64/hw/sensors.msm****.so (veya sensors.lsm6db0.so)
system/lib/libsensorservice.so
system/lib64/libsensorservice.so


Ses Sorunu
Aşağıdaki dosyaları/klasörleri base/taban romundan hedef port romu ile değiştirin.

system/lib/hw/
audio.primary.msm****.so
audio.primary.default.so
system/lib64/hw/
audio.primary.msm****.so
audio.primary.default.so

Kulaklık, ahize sorunu
Aşağıdaki dosyaları/klasörleri base/taban romundan hedef port romu ile değiştirin. Eksik dosyaları karşılaştırın.

system/etc/
mixer_paths.xml

Tuşların çalışmama sorunu
Aşağıdaki dosyaları/klasörleri base/taban romundan hedef port romu ile değiştirin. Eksik dosyaları karşılaştırın.
system/usr/keylayout/
goodix.kl
gpio-keys.kl
Generik.kl

Video sorunu
system/etc/firmware/
venus. ile başlayan tüm dosyaları değiştirin

Bildirim Ledi sorunu
Aşağıdaki dosyaları baseden porta aktarın

system/lib/hw/lights.msm***.so
system/lib64/hw/lights.msm***.so

Titreşim Sorunu
Aşağıdaki dosyaları baseden porta aktarın

system/lib/libhardware_legacy.so
system/lib64/libhardware_legacy.so

Radyo Sorunu
Aşağıdaki dosyaları baseden porta aktarın

system/lib/qcomfm_jni.so
system/lib64/qcomfm_jni.so

Wifi Sorunu
Aşağıdaki dosyaları baseden porta aktarın

system/lib/modules/wlan.ko
system/lib/libwcnss_qmi.so
system/lib64/libwcnss_qmi.so

NOT: Uygulamalarda çökme alıyorsanız bu biraz zor olacaktır. İlgili apk dosyaları system/app veya system/priv-app içeirsinden bulabilir apk dosyaları düzenleyip imzalayıp tekrar deneyebilirsiniz veya sorun çıkaran apkları system klasöründen silip alternatif uygulamları klasör içerisinde system/app klasörüne gönderebilirsiniz.


C-) Cihaz Bilgilerini girme

Bu işlemin son kısmı olarak düşünülebilir, artık herşey tamam; cihaz hakkında bulunan cihaz adını değiştirmek, bölge ve saat ayarlarının varsılayan değerlerini değiştirmek kalıyor. Bunun için system/build.prop dosyasını açıyoruz.

Cihaz modelinin yer aldığı kısımları / brand: model / kendi cihazımızın adı ile değiştiriyoruz. Örnek olarak

ro.product.brand=Google
ro.product.model=Nexus 7
Örneğin Nexus 7 Portladığımız cihazın adıydı bunu drason ile değiştirelim, böylece telefon hakkında kısmında cihaz adı omer drason olarak gözükecek.
ro.product.brand=omer
ro.product.model=drason

Dili değiştirmek istediğimizde ise

ro.product.locale.language=en
ro.product.locale.language=tr

olarak değiştirmemiz yeterli olacaktır. Aynı şekilde varsayılan zil sesi, bildirim sesi, saati varsıylan değerlerini ilgili satırladan bulup değiştirebilirsiniz.


Umarım geliştirici olmak isteyen arkadaşlara yardımcı olur. Basit bir anlatımla Snapdragon cihazlara nasıl rom portlanabileceğini göstermeye çalıştım. Yazımın miuiturkiye.net adresinden farklı alanlarda paylaşılmasının ahlaki açıdan uygun olmadığı düşüncesindeyim. Emeğin karşılığı olarak beğenirseniz sevinirim.

İyi forumlar
drasonli17
Çok yararlı bir konu hocam
Elinize sağlıkclap~~
 

drasonli17

Deneyimli Üye
Deneyimli Üye
MIUI Sever
SMS Onaylı
Adım
Ömer
Cihazım
Mi 9T
Konum
Ankara
Katılım
1 Aralık 2019
Konular
19
Mesajlar
155
Tepkime puanı
316
Puanları
63
Merhabalar split_img içerisinde boot.img-dtb gözükmüyor
Yeni nesi boot.img dosyaları şifreleme ile geliyor ve Android Image Kitchen bunları açamıyor veya geri toplayamıyor, img dosyalarını açmak için farklı bir tool deneyebilirsiniz
Mesajlar otomatik olarak birleştirildi:

Yeni nesi boot.img dosyaları şifreleme ile geliyor ve Android Image Kitchen bunları açamıyor veya geri toplayamıyor, img dosyalarını açmak için farklı bir tool deneyebilirsiniz
Eğer açamadığınız boot.img dosyası port rom değil ise cihazınıza ait farklı rom veya TWRP recoveryleri unpack etmeyi deneyerek tekrar deneyebilir, dtb dosyasını oradan çekebilirsiniz ( Android versiyonu aynı olmak zorundadır )
Not : DTB dosyaları yeni nesillerde olmuyor sadece zlmage çekseniz yeterli olacaktır.
 
Son düzenleme:

aliasaf

Elit Üye
Elit Üye
MIUI Sever
SMS Onaylı
Adım
Bilinmiyor
Cihazım
Bilinmiyor
Konum
Bilinmiyor
Katılım
17 Aralık 2019
Konular
125
Mesajlar
2.017
Tepkime puanı
3.208
Puanları
188
Merhaba MIUI Türkiye kullanıcıları
Bu yazımda Qualcomm işlemcili farklı bir cihazın yazılımını kendi cihazımıza nasıl uyarlayabileceğimizi anlatacağım.

Anlatıma geçmeden önce bir önceki yazımda anlattığım derleme işlemi ile portlama işlemi arasındaki farka göz atalım. Derleme işlemi devasa büyüklükte paketlenmemiş açık kaynak kodları ile cihaz kaynak kodlarınızın harmanlanmasıdır. Portlama işlemi ise derlenmiş iki yazılımın (sizin cihazınız ve hedef cihaz) birbiri ile uyumlu hale getirilmesi olarak düşünülebilir.

Resimleri görmek için giriş yapmanız gerekmektedir.


ROM portlamak, derleme işlemine kıyasla stabilitesi düşük bir işlemdir. Boot ettiğiniz (çalıştırdığınız) her yazılım hatalar ile birlikte gelecektir. Son kısımda bu hataların çözümlerine göz atacağız. ROM Portlamayı adım adım inceleyecek olursak ;

A-) Boot etme ( çalıştırma )
8=) Hata Giderme
C-) Cihaz bilgilerini girme

Bu adımları nasıl gerçekleştirebileceğimize yakından bakacağız. Öncelikle portlama işlemi için gerekli araçlara bakalım.

1-) Cihazımız ve cihazımıza ait custom/stock rom
2-) Hedef cihazımız ve hedef cihazımıza ait custom/stock rom
( Cihazımızın işlemcileri aynı veye benzer tabanda olmalı / Örneğin cihazımız Snapdragon 730 işlemcisi ise hedef cihazımızda Snapdragon 730 olmalı, alt-orta segmentte bazı işlemcilerin tabanları/lib dosyaları aynı olduğu için boot işlemi gerçekleşebilir, uyuma göz atmanız gerekmektedir Önreğin Snapdragon 410/ 600 serisi uyumu)
3-) NotePad++
4-) 7Zip / Winrar
5-) Android Image Kitchen ( AIK )
6-) Windows veya Linux İşletim Sistemine Sahip Bilgisayar
7-) Aşağıda belirttiğim dosyalara göre System.img Unpack Repack ( Açma ve Kapatma ) , system.new.dat.br 'den system.new.dat ve system.img dönüştürme aracı vs.

Not: Seçeceğimiz custom/stock romların Android sürümü birbiri ile aynı olacaktır aksi takdir kernel uyumsuzluğu nedeni ile yazılım başlatılmayacaktır.


Öncelikle Android cihazlarımıza yüklediğimiz ROM'ların içeriğine göz atalım, klasörleri tanıyalım.

Resimleri görmek için giriş yapmanız gerekmektedir.


Burada belirttiğim dosya ve klasörler ROM'dan ROM'a farklılık gösterebilmektedir. Örneğin "system.new.dat.br - system.patch.dat - system.transfer.list" üçlüsü yerine system.img veya system.new.dat ve system.transfer.list " dosyaları bulunabilir. Firmware-update klasörü bulunmayabilir.

firmware-Update : Cihaza özel donanım imajlarının bulunduğu kısımdır. Portlayacağınız ROM'dan kesinlikle silmeniz gerekmektedir. Eğer bu şekilde portladığınız zipi TWRP'den flaşlarsanız cihazınız hardbrick olacaktır.

META-INF:
Bu klasörün içerisinde bulunan META-INF/com/google/android/updater-script dosyası bizim için önem arz ediyor. Bu dosya TWRP'ye nelerin yapılacağını söyleyen komut dizilerini içeriyor. Bu dosyanın üzerinde düzenleme yaparak TWRP'ye neler yapacağını söyleyeceğiz.

System.new.dat.br - system.patch.dat - system.transfer.list : Bu dosyalama yapısı sürekli değişim halindedir. Güncel olarak kullanılan dosyalama türü şu anda system.new.dat.br formatıdır. Bu dosyayı öncelikle system.new.dat'a daha sonra system.img'ye dönüştürdükten sonra unpack /açma işlemini gerçekleştirebiliriz. Bu dosya sistem cihazınızın ana dizinine dosya göndermenizi sağlar. Dosyayı açtığınızda örneğin şu klasörleri görebilirsiniz.

system/priv-app/Chrome/chrome.apk
/init.rc

system.new.dat.br klasörünü açanTve yükleyen TWRP bu dosyanın içinde bulunan Chrome Tarayıcısını sistem uygulaması olarak sisteme yüklüyor. Bir diğer klasörde ise ana dizinde bulunan init.rc dosyası değiştiriliyor/ekleniyor. Belirttiğim gibi sizin hedef veya ana rom dosyanızda dosyalama tipi farklı olabilir yapacağınız işlemler sonucu bu dosyayı açıp kapattıktan sonra tekrar zip dosyanıza aktardığınızda sıkıntı olmayacaktır.

vendor: Nispeten eski cihazlarda rastlamadığımız vendor imaj/br dosyaları Android'in yeni çözümü olarak düşünülebilir. EFS/IMEI GPS,sensör ve diğer donanım parçalarının yazılım entegrasyonu yerine ayrı bir alanda çalışmasına olanak sağlar. Android sürümü uyumlu iki ROM dosyanız bulunuyor ise cihazınızdan vendor dosyasını silmeyerek , hedef romdaki vendor dosyasını silerek bu işlemi deneyebilirsiniz.

-

Dosyaları kısaca tanıdığıma göre yapacağımız işlemlere geçelim. Yapacağımız işlemler boot.img dosyasını düzenlemek, hataları gidermek ve ince ayarları yapmak.

A-) Boot.img ve Updater-script dosyasını düzenlemek


Boot.img dosyası yazılımınızı, donanımıza entegre ederek sistemi açan ana imaj dosyasıdır. Yapacağımız küçük değişiklikler ile yazılımı başlatmayı başarabiliriz. Bunun için öncelikle Android Image Kitchen programımızı/zip dosyamızı indirelim. İndirmek için tıklayınız.

Not: Android Image Kitchen boot ve recovery.img dosyalarını Windows ve Linux işletim sistemlerinde açma ve kapama işlemini gerçekleştiren araç/tooldur. Eğer boot.img dosyanız açılmıyor/eksik açılıyor ise internet üzerinde aratacağınız farklı bir araç ile deneyebilirsiniz. Ancak genellikle üreticiler boot.img dosyasını imzalarlar/şifrelerler de diyebiliriz. Bu nedenle boot.img unsign tool yazarak gerekli araçları indirerek bu imzayı kaldırmanız gerekebilir, ancak bu işlemler genellikle başarısızlık ile sonuçlanır.

Masaüstüne iki adet klasör açalım. Ben adlarını kolay anlamam için klasör adlarının birine "Base/Taban" diğerine "Port/Hedef" adlandırmasını veriyorum. Her iki klasörün içerisine Android Image Kitchen zipinin içindeki dosyaları aktaralım.

Base/Taban klasörümün içerisine kendi cihazımın rom dosyasının içindeki boot.img dosyasını aktaralım. Port/Hedef klasörüne ise hedeflediğimiz cihazın yazılımın içindeki boot.img dosyasını aktaralım.

Her iki dosyada da boot.img dosyasını tutarak unpackimg.bat dosyasının üstüne sürükleyelim. İşlem başlayacak split_img adında klasör yaratılacaktır. Bu dosyanın içerisinde bulunan boot.img-zImage ve boot.img-dtb dosyalarını Base/Taban'dan Port/Hedef/split_img klasörünün içerisine aktaralım.

Bu işlem çoğu custom romu port etmek için yeterli olacaktır, ancak boot.img üzerinde düzenlemelerimize devam edelim. Base ve Port / ramdisk klasörünün içeriğine girelim ve fstab.qcom dosyalarını Notepad++ ile açalım.
Hedef romdaki aşağıdaki kodlar arasındaki satırların tümünü silelim, base fstab.qcom dosyamızdaki ilgili yerdeki kodlar ile değiştirelim. Eğer boot işlemi (repack işleminden sonra aşağıda anlatıcam) gerçekleşmez ise fstab.qcom dosyasını tamamen değiştirmeyi deneyebilirsiniz.

/dev/block/bootdevice (dahil)
/device(s) (dahil değil)


Bu işlemler sonucunda boot.img dosyanızı tekrar tutarak bu sefer repackimg.bat dosyasını sürükleyin size image-new.img adında portlanmış boot imajı verecektir. Bu dosyanın adını boot.img olarak değiştirin ve hedef rom zipiniz içindeki boot.img ile yer değiştirin. Hedef ROM zipini TWRP üzerinden flaşlayın yazılımın açılıp açılmadığını kontrol edin. Eğer yazılım açılmıyorsa hedef romdan aldığınız unpack ettiğiniz boot.img dosyasında bulunan init.rc, uneventd.rc, file_contexts, init.target.rc dosyalarını base/taban rom ile karşılaştırın, eksik satırları giderip tekrar boot etmeyi deneyin.

Updater-Script düzenleme / anlama

Updater-script dosyası hedef rom dosyanızın META-INF/com/google/android klasörünün içerisinde bulunur. Yukarıdaki işlemler sonucu TWRP'de portladığınız yazılımı yüklerken hata alıyor iseniz sorun iki kaynaktan olabilir.

-META INF içerisinde bulunan updater-script kodlarında cihaza özel yazılım yapacağı kodların bulunması (aşağıda çözümüne göz atacağız)
-Hedef romun özel imza taşıyor olması ( Zip imzasını kaldırmak için Google'da zip unsign tool xda yazarak çözümlere göz atabilirsiniz.)


Bazı updater-script kodlarında

getprop("ro.product.device") == "davinci" || abort("E3004: This package is for \"davinci\" devices; this is a \"" + getprop("ro.product.device") + "\"."); veya get device kodları bulunur. Cihazınızın kod adı bununla eşleşmiyor ise TWRP'de yükleme yapılmaz bu nedenle bu satırları updater-scriptten silelim.

Örneğin hedef rom dosyanızda belirttiğim gibi system.new.dat.br - transfer.list - patch.dat - üçlüsü bulunuyor. Sizin updater-script kodunuzda bu dosyaları yüklemesini TWRP'ye öğreten şu kodlar bulunur.

ui_print("Patching system image unconditionally...");
block_image_update("/dev/block/bootdevice/by-name/system", package_extract_file("system.transfer.list"), "system.new.dat.br", "system.patch.dat") ||
abort("E1001: Failed to update system image.");

Buradaki kodları inceleyelim. ui_print("xxxxxxx") komutu sadece yazı göstermeye, kullanıcıya şu an ne yapıldığını TWRP ekranında gösteren komuttur.
Hemen alt satırda ise block_image_update komutu ile imaj dosyasını kaynak ve hedef göstererek güncelleme işlemi gerçekleştirilir. Kodun devamından şunu anlıyoruz.
ZIP içerisinde bulunan system.transfer.list"), "system.new.dat.br", "system.patch.dat dosyalarını, cihazın içerisindeki /dev/block/bootdevice/by-name/system dizinine aktar.

Bir örneği de boot.img dosyası için bakalım.


package_extract_file("boot.img", "/dev/block/bootdevice/by-name/boot");

Bu şekilde sizde dosya yapılarını değiştirseniz bile yazacağınız script kodları ile zipi farklı şekilde flaşlamanın yollarını çözebilirsiniz.

8=) Hata Giderme

Yazılımı portladığınızda ve cihazınızda açıldığında birçok hata ile karşı karşıya kalacaksınız/kalabilirsiniz. Wi-Fi açılmama/kapanmama, RIL/IMEI sorunu, Mobil Veri Sorunu, Kamera Açılmama/ Video kaydetmeme gibi gibi gibi. Tonlarca hata sizi bekliyor ve bu çözümleri cihazınızın stock/custom romunda bulunan dosyalar ile çözümlemeye çalışacağız.

NOT: Söylemem gerekirki portlamanın en güzel kısmı burası iken en zorlu kısmı da burasıdır. Yapacağınız işlemlerde cihaz boot olmayabilir/yazılım çalışmayabilir açılış ekranı dönebilir. Bu yüzden işlemleri tek tek deneyin flaşlayın açılmazsa yaptığınız işlemi geri alın başka çözümler arayın. Böylelikle yazılımın neden boot olmadığını anlayabilirsiniz.

Hedef ve taban romunuzda system.new.dat.br üçlüsü var ve bunu unpack/açıp repack/kapatmak istiyorsanız google'a how to system.new.dat.br unpack/repack yazarak veya system.img imajı var how to unpack system.img xda yazarak belirtilen araçları/toolları kullanabilirsiniz.

Hedef klasörünün içerisinde bulunan system/bin klasöründe eksik bulunan dosyaları base/taban romunuzdan giderin.

Hata çözümleri :

Sensör :

boot.img içindeki aşağıdaki dosyaların eksik satırlarına göz atın.

uneventd.qcom.rc
uneventd.rc

Aşağıdaki dosyaları base/port ile değiştirin
system/lib/hw/sensors.msm****.so (veya sensors.lsm6db0.so)
system/lib64/hw/sensors.msm****.so (veya sensors.lsm6db0.so)
system/lib/libsensorservice.so
system/lib64/libsensorservice.so


Ses Sorunu
Aşağıdaki dosyaları/klasörleri base/taban romundan hedef port romu ile değiştirin.

system/lib/hw/
audio.primary.msm****.so
audio.primary.default.so
system/lib64/hw/
audio.primary.msm****.so
audio.primary.default.so

Kulaklık, ahize sorunu
Aşağıdaki dosyaları/klasörleri base/taban romundan hedef port romu ile değiştirin. Eksik dosyaları karşılaştırın.

system/etc/
mixer_paths.xml

Tuşların çalışmama sorunu
Aşağıdaki dosyaları/klasörleri base/taban romundan hedef port romu ile değiştirin. Eksik dosyaları karşılaştırın.
system/usr/keylayout/
goodix.kl
gpio-keys.kl
Generik.kl

Video sorunu
system/etc/firmware/
venus. ile başlayan tüm dosyaları değiştirin

Bildirim Ledi sorunu
Aşağıdaki dosyaları baseden porta aktarın

system/lib/hw/lights.msm***.so
system/lib64/hw/lights.msm***.so

Titreşim Sorunu
Aşağıdaki dosyaları baseden porta aktarın

system/lib/libhardware_legacy.so
system/lib64/libhardware_legacy.so

Radyo Sorunu
Aşağıdaki dosyaları baseden porta aktarın

system/lib/qcomfm_jni.so
system/lib64/qcomfm_jni.so

Wifi Sorunu
Aşağıdaki dosyaları baseden porta aktarın

system/lib/modules/wlan.ko
system/lib/libwcnss_qmi.so
system/lib64/libwcnss_qmi.so

NOT: Uygulamalarda çökme alıyorsanız bu biraz zor olacaktır. İlgili apk dosyaları system/app veya system/priv-app içeirsinden bulabilir apk dosyaları düzenleyip imzalayıp tekrar deneyebilirsiniz veya sorun çıkaran apkları system klasöründen silip alternatif uygulamları klasör içerisinde system/app klasörüne gönderebilirsiniz.


C-) Cihaz Bilgilerini girme

Bu işlemin son kısmı olarak düşünülebilir, artık herşey tamam; cihaz hakkında bulunan cihaz adını değiştirmek, bölge ve saat ayarlarının varsılayan değerlerini değiştirmek kalıyor. Bunun için system/build.prop dosyasını açıyoruz.

Cihaz modelinin yer aldığı kısımları / brand: model / kendi cihazımızın adı ile değiştiriyoruz. Örnek olarak

ro.product.brand=Google
ro.product.model=Nexus 7
Örneğin Nexus 7 Portladığımız cihazın adıydı bunu drason ile değiştirelim, böylece telefon hakkında kısmında cihaz adı omer drason olarak gözükecek.
ro.product.brand=omer
ro.product.model=drason

Dili değiştirmek istediğimizde ise

ro.product.locale.language=en
ro.product.locale.language=tr

olarak değiştirmemiz yeterli olacaktır. Aynı şekilde varsayılan zil sesi, bildirim sesi, saati varsıylan değerlerini ilgili satırladan bulup değiştirebilirsiniz.


Umarım geliştirici olmak isteyen arkadaşlara yardımcı olur. Basit bir anlatımla Snapdragon cihazlara nasıl rom portlanabileceğini göstermeye çalıştım. Yazımın miuiturkiye.net adresinden farklı alanlarda paylaşılmasının ahlaki açıdan uygun olmadığı düşüncesindeyim. Emeğin karşılığı olarak beğenirseniz sevinirim.

İyi forumlar
drasonli17
Elinize sağlık hocam çok güzel bir anlatım olmuş hocam bir sorum olucakti Android tabanı ayni olmasi lazım demissinizde Hocam benim cihazim Rn 8 sadece Android'in 9 sürümü stock romlari var ama bir geliştirici bunu Android 10 Custom roma portladi ve acildida bunu nasil yapmistir hocam bide Port romlar genelde çok kasıyor animasyonlar çok donuyor sistemin stabilitiseni nasıl arttırırız
 

drasonli17

Deneyimli Üye
Deneyimli Üye
MIUI Sever
SMS Onaylı
Adım
Ömer
Cihazım
Mi 9T
Konum
Ankara
Katılım
1 Aralık 2019
Konular
19
Mesajlar
155
Tepkime puanı
316
Puanları
63
Elinize sağlık hocam çok güzel bir anlatım olmuş hocam bir sorum olucakti Android tabanı ayni olmasi lazım demissinizde Hocam benim cihazim Rn 8 sadece Android'in 9 sürümü stock romlari var ama bir geliştirici bunu Android 10 Custom roma portladi ve acildida bunu nasil yapmistir hocam bide Port romlar genelde çok kasıyor animasyonlar çok donuyor sistemin stabilitiseni nasıl arttırırız
Google Generic System Image (GSI) adını verdiği yeni bir sisteme geçti geçtiğimiz yıl. Bu sistem ile birlikte yeni cihazlarda (Treble Desteği olan; Google Play Store'da Treble Checker yazatarak cihazının uyumluluğuna bakabilirsin) donanım ile ilgili bileşenler cihazda sabit kalırken sadece sistem imaj dosyası flaşlanıyor; her yazılım telefonuna uygun hale geliyor. Daha iyi anlamak için şöyle düşünebilirsin, sadece sistem dosyaları ile oynanıyor diğer bileşenler sabit kalıyor. Böylelikle cihazlara GSI desteği ile Android 12 bile çıksa yükleyebiliyorsun. Aslında şu anda bilgisayarlardaki sistem ile aynı, Windows 10 işletim sistemi her bilgisayara yüklenebiliyor farklı donanımlar olmasına rağmen.
Bir diğer husus ise kernel altyapısı, aslında yok gibi düşünülebilir. Sanıyorum Android 6.0 Marshmallow Beta sürecinde Lollipop kernelinden faydalanmıştı ve Lollipop boot.img kullanılarak Marshmallow port edilebiliyordu. Ancak bunun dışında bir örneğe rastlamadım.
Burada PORT olarak belirtilenler ise GSI ROM üzerinde düzenlemeler ve hata çözümler ile cihaza verilen yazılımlar oluyor. :)

GSI anlamak için güzel bir video :
Medyaları görmek için kayıt olmalısınız

İstersen Android 11 Beta'yı deneyebilirsin
Mesajlar otomatik olarak birleştirildi:

Treble Checker 'dan A/B ( seamless update yeşil tik varsa ) desteğin varsa Android 11 Beta'yı da indirip kurabilirsin wipelerini yaptıktan sonra. Eğer yoksa aşağıdaki only A romlardan deneyebilirsin

 
Son düzenleme:

aliasaf

Elit Üye
Elit Üye
MIUI Sever
SMS Onaylı
Adım
Bilinmiyor
Cihazım
Bilinmiyor
Konum
Bilinmiyor
Katılım
17 Aralık 2019
Konular
125
Mesajlar
2.017
Tepkime puanı
3.208
Puanları
188
Google Generic System Image (GSI) adını verdiği yeni bir sisteme geçti geçtiğimiz yıl. Bu sistem ile birlikte yeni cihazlarda (Treble Desteği olan; Google Play Store'da Treble Checker yazatarak cihazının uyumluluğuna bakabilirsin) donanım ile ilgili bileşenler cihazda sabit kalırken sadece sistem imaj dosyası flaşlanıyor; her yazılım telefonuna uygun hale geliyor. Daha iyi anlamak için şöyle düşünebilirsin, sadece sistem dosyaları ile oynanıyor diğer bileşenler sabit kalıyor. Böylelikle cihazlara GSI desteği ile Android 12 bile çıksa yükleyebiliyorsun. Aslında şu anda bilgisayarlardaki sistem ile aynı, Windows 10 işletim sistemi her bilgisayara yüklenebiliyor farklı donanımlar olmasına rağmen.
Bir diğer husus ise kernel altyapısı, aslında yok gibi düşünülebilir. Sanıyorum Android 6.0 Marshmallow Beta sürecinde Lollipop kernelinden faydalanmıştı ve Lollipop boot.img kullanılarak Marshmallow port edilebiliyordu. Ancak bunun dışında bir örneğe rastlamadım.
Burada PORT olarak belirtilenler ise GSI ROM üzerinde düzenlemeler ve hata çözümler ile cihaza verilen yazılımlar oluyor. :)

GSI anlamak için güzel bir video :
Medyaları görmek için kayıt olmalısınız

İstersen Android 11 Beta'yı deneyebilirsin
Mesajlar otomatik olarak birleştirildi:

Treble Checker 'dan A/B ( seamless update yeşil tik varsa ) desteğin varsa Android 11 Beta'yı da indirip kurabilirsin wipelerini yaptıktan sonra. Eğer yoksa aşağıdaki only A romlardan deneyebilirsin

Teşekkürler hocam Android 12 Gsi olarak kurdum hatta dünde kurmaya çalışıyorum ama recovery atıyordu sürekli Hocam Gsi Rom nasıl yapılır diye bir rehber açıcakmısınız veya Android Rom terimleri mesela Gsi nedir veya treble nedir veya Rom dosyalarının içindeki dosyaların ne işe yaradını örne vermek gerekiyorsa Meta İnf veya build.prop dosyası bunun için rehber açarsanız çok sevinirim hocam ilk nedir ve ne işe yaradıklarını öğrenip sonrada Derleme veya Portlama romlarin nasil yapildini öğrenmek daha kolay olurdu hocam bi sorum daha vardi hocam Port romlarin stabilitesi nasıl arttırılır ve çoğu zaman gördüğüm hwc fixed nedir yada Gsi romlar portlanır mı? Çok fazla soru sorduğum için kusura bakmayın hocam biraz meraklıyımda giggle~~
 

drasonli17

Deneyimli Üye
Deneyimli Üye
MIUI Sever
SMS Onaylı
Adım
Ömer
Cihazım
Mi 9T
Konum
Ankara
Katılım
1 Aralık 2019
Konular
19
Mesajlar
155
Tepkime puanı
316
Puanları
63
Teşekkürler hocam Android 12 Gsi olarak kurdum hatta dünde kurmaya çalışıyorum ama recovery atıyordu sürekli Hocam Gsi Rom nasıl yapılır diye bir rehber açıcakmısınız veya Android Rom terimleri mesela Gsi nedir veya treble nedir veya Rom dosyalarının içindeki dosyaların ne işe yaradını örne vermek gerekiyorsa Meta İnf veya build.prop dosyası bunun için rehber açarsanız çok sevinirim hocam ilk nedir ve ne işe yaradıklarını öğrenip sonrada Derleme veya Portlama romlarin nasil yapildini öğrenmek daha kolay olurdu hocam bi sorum daha vardi hocam Port romlarin stabilitesi nasıl arttırılır ve çoğu zaman gördüğüm hwc fixed nedir yada Gsi romlar portlanır mı? Çok fazla soru sorduğum için kusura bakmayın hocam biraz meraklıyımda giggle~~
GSI romlar tunasahin6 işi biraz onunla iletişime geçsen daha iyi olur. ROM dosyalarının içeriği hakkında konu açarım, stabiliteyi attırmak için hataları çözmek önemli ölçüde yeterli bunun içinde şimdilik rus kaynağı 4pda.ru ( google translate ile ingilizceye çevirerek göz atabilirsin )
veya örneğin bir hata ile karşılaştın. Mikrofon hatası olsun çözüm bulamadım libleri değiştirmene rağmen farklı cihazlar için arat internette, misal

RMN7 için microfon fixi, içeriğine göz at hangi dosyaları değiştirmiş sende benzer dosyaları kendi cihazın için değiştir. Dediğim gibi GSI romlar adı üstünde evrensel romlar, hataları çıktığında çözümlenecek romlardır.
 

aliasaf

Elit Üye
Elit Üye
MIUI Sever
SMS Onaylı
Adım
Bilinmiyor
Cihazım
Bilinmiyor
Konum
Bilinmiyor
Katılım
17 Aralık 2019
Konular
125
Mesajlar
2.017
Tepkime puanı
3.208
Puanları
188
GSI romlar tunasahin6 işi biraz onunla iletişime geçsen daha iyi olur. ROM dosyalarının içeriği hakkında konu açarım, stabiliteyi attırmak için hataları çözmek önemli ölçüde yeterli bunun içinde şimdilik rus kaynağı 4pda.ru ( google translate ile ingilizceye çevirerek göz atabilirsin )
veya örneğin bir hata ile karşılaştın. Mikrofon hatası olsun çözüm bulamadım libleri değiştirmene rağmen farklı cihazlar için arat internette, misal

RMN7 için microfon fixi, içeriğine göz at hangi dosyaları değiştirmiş sende benzer dosyaları kendi cihazın için değiştir. Dediğim gibi GSI romlar adı üstünde evrensel romlar, hataları çıktığında çözümlenecek romlardır.
Çok teşekkürler hocam Rom dosyalarının içeriği konusunu bekliyorum hocam merak ettiğim konulardan biri Gsi olarakta Tunasahin Gsi grubuna baktım ama o daha çok Aosp gsi yapiyor başka bir Gsi grubu var istek Gsi isteyebiliyorsunuz hocam ama şu aralar Gsi yüklerken cihaz bootlop giriyor nedenini bilmiyorum hocam hataları çözmek gerçekten zormu kimisi diyor belki aylar sürer çözmek için kimisi diyor log kayitlarina bakmam lazim peki hocam Mesela stock romlardada bazen hatalar çıkıyor bu stock rom geliştiricileri mesela Xiaomideki Rom Developerları diyelim onlardami bu hata için Aylar sonra çözebiliyor yada bir kaç günde onların fix aramasına gerek yok diye biliyorum hatanın nerden çıktını bilmeleri için log kayitlarina bakmalari gerekiyor diye biliyorum hocam siz ne düşünüyorsunuz Yani Xiaominin Android Rom Developerları ile Normal Android Rom developerların farkları nelerdir hocam?
 

drasonli17

Deneyimli Üye
Deneyimli Üye
MIUI Sever
SMS Onaylı
Adım
Ömer
Cihazım
Mi 9T
Konum
Ankara
Katılım
1 Aralık 2019
Konular
19
Mesajlar
155
Tepkime puanı
316
Puanları
63
Çok teşekkürler hocam Rom dosyalarının içeriği konusunu bekliyorum hocam merak ettiğim konulardan biri Gsi olarakta Tunasahin Gsi grubuna baktım ama o daha çok Aosp gsi yapiyor başka bir Gsi grubu var istek Gsi isteyebiliyorsunuz hocam ama şu aralar Gsi yüklerken cihaz bootlop giriyor nedenini bilmiyorum hocam hataları çözmek gerçekten zormu kimisi diyor belki aylar sürer çözmek için kimisi diyor log kayitlarina bakmam lazim peki hocam Mesela stock romlardada bazen hatalar çıkıyor bu stock rom geliştiricileri mesela Xiaomideki Rom Developerları diyelim onlardami bu hata için Aylar sonra çözebiliyor yada bir kaç günde onların fix aramasına gerek yok diye biliyorum hatanın nerden çıktını bilmeleri için log kayitlarina bakmalari gerekiyor diye biliyorum hocam siz ne düşünüyorsunuz Yani Xiaominin Android Rom Developerları ile Normal Android Rom developerların farkları nelerdir hocam?

Her cihaz üreticisinin kendini koruması için geliştirdiği şifreleme kilitleme sistemleri bulunuyor, bu bootloader için , vbmeta dosyaları için, Oppo'daki ozip dosyalama sistemi gibi gibi gibi geliştiricilerde bu engelleri aşarak/bypass ederek rom/twrp/fix geliştirmeye çalıştırıyor.
Veya bazen geliştiricinin elinde olmayan hususlardan dolayı hata fixlemek zorlaşır. Üretici cihazın kaynak kodlarını paylaşmadığı için süreç zorlaşır. Bu aslında hem geliştiricinin kabiliyetine hemde üreticiye bağlıdır. LOG olma olayında ise cihazın neden baslatilmadığını anlamlandırman için önemli bir durum.
 

aliasaf

Elit Üye
Elit Üye
MIUI Sever
SMS Onaylı
Adım
Bilinmiyor
Cihazım
Bilinmiyor
Konum
Bilinmiyor
Katılım
17 Aralık 2019
Konular
125
Mesajlar
2.017
Tepkime puanı
3.208
Puanları
188
Her cihaz üreticisinin kendini koruması için geliştirdiği şifreleme kilitleme sistemleri bulunuyor, bu bootloader için , vbmeta dosyaları için, Oppo'daki ozip dosyalama sistemi gibi gibi gibi geliştiricilerde bu engelleri aşarak/bypass ederek rom/twrp/fix geliştirmeye çalıştırıyor.
Veya bazen geliştiricinin elinde olmayan hususlardan dolayı hata fixlemek zorlaşır. Üretici cihazın kaynak kodlarını paylaşmadığı için süreç zorlaşır. Bu aslında hem geliştiricinin kabiliyetine hemde üreticiye bağlıdır. LOG olma olayında ise cihazın neden baslatilmadığını anlamlandırman için önemli bir durum.
Teşekkürler hocam bilgilendirdiğiniz için mesela Aosp Romlar açık kaynak kodlu olduğu için geliştiriciler kolaylıkla rom yapabiliyor veya romları fixleyebiliyorlar diye biliyorum peki hocam aklıma takılan şey Aosp tam olarak nedir hocam bir Android tabanımı yoksa Saf Android Romu dedimiz şey Aosp mi ve geliştiriciler bu romu özelleştirip custom rom diyemi bize sunuyorlar mesela CrDroid gibi yada LineageOS gibi bu romlara baktımızda aslında Saf Android arayüzlü Pixel Romlar sadece editlenip düzenlenmiş diye biliyorum siz ne düşünüyorsunuz hocam
 

drasonli17

Deneyimli Üye
Deneyimli Üye
MIUI Sever
SMS Onaylı
Adım
Ömer
Cihazım
Mi 9T
Konum
Ankara
Katılım
1 Aralık 2019
Konular
19
Mesajlar
155
Tepkime puanı
316
Puanları
63
Teşekkürler hocam bilgilendirdiğiniz için mesela Aosp Romlar açık kaynak kodlu olduğu için geliştiriciler kolaylıkla rom yapabiliyor veya romları fixleyebiliyorlar diye biliyorum peki hocam aklıma takılan şey Aosp tam olarak nedir hocam bir Android tabanımı yoksa Saf Android Romu dedimiz şey Aosp mi ve geliştiriciler bu romu özelleştirip custom rom diyemi bize sunuyorlar mesela CrDroid gibi yada LineageOS gibi bu romlara baktımızda aslında Saf Android arayüzlü Pixel Romlar sadece editlenip düzenlenmiş diye biliyorum siz ne düşünüyorsunuz hocam
AOSP ( Android Açık Kaynak Projesi ), Google tarafından dağıtılan saf Android'dir. Üreticiler ve bağımsız geliştiriciler bu taban üzerine kendi arayüzlerini, uygulamalarını ve optimizasyonlarını entegre ederek kendi arayüzlerinin entegre edildiği sistemler oluşturur.
 
Üst Alt