- Adım
- Lütfi
- Cihazım
- Le Pro3
- Yaş
- 27
- Konum
- ankara
- Katılım
- 22 Mayıs 2016
- Konular
- 68
- Mesajlar
- 102
- Tepkime puanı
- 217
- Puanları
- 43
DİPNOT
YAPACAĞINIZ İŞLEMDEN DOĞACAK SORUNLARDAN ŞAHSIM VE FORUM MIUI TÜRKİYE SORUMLU TUTULAMAZ.
AÇIKLAMA
Bu kılavuz ile resmi olmayan verilmeyen romları cihazınız için derleyebilirsiniz.
Ricam eğer bu kılavuzdan bir yardım aldıysanız sadece konunuzun teşekkürler kısmında benim de ismim geçsin.
ANLATIM
" $ " İle başlayan satırlar terminale girilmesi gereken kodlardır.
Gerekli Paketlerin Yüklenmesi :
Derleme Hazırlığı :
Derleme :
Device Tree - Kernel - Vendor İndirme
Taban Eşitleme
LineageOS İçin :
Paranoid Android İçin:
VİDEO ANLATIMI
YAPACAĞINIZ İŞLEMDEN DOĞACAK SORUNLARDAN ŞAHSIM VE FORUM MIUI TÜRKİYE SORUMLU TUTULAMAZ.
AÇIKLAMA
Bu kılavuz ile resmi olmayan verilmeyen romları cihazınız için derleyebilirsiniz.
Ricam eğer bu kılavuzdan bir yardım aldıysanız sadece konunuzun teşekkürler kısmında benim de ismim geçsin.
ANLATIM
" $ " İle başlayan satırlar terminale girilmesi gereken kodlardır.
Gerekli Paketlerin Yüklenmesi :
Terminalinizi açın ve ;
$ sudo apt-get update
$ sudo apt-get install openjdk-7-jdk
Eğer nougat tabanında bir rom derliyorsanız "openjdk-7-jdk" yerine "openjdk-8-jdk" yazın.
Eğer Ubuntu 15.10 Ya Da Daha Yeni Bir Sürümdeyseniz :
Yukarıda yer alan "lib32readline-gplv2-dev" bölümünü "lib32readline6-dev" olarak değiştirin.
Eğer Ubuntu 16.04 Ya Da Daha Yeni Bir Sürümdeyseniz :
Yukarıda yer alan "libwxgtk2.8-dev" bölümünü "libwxgtk3.0-dev" olarak değiştirin.
$ sudo apt-get update
$ sudo apt-get install openjdk-7-jdk
Eğer nougat tabanında bir rom derliyorsanız "openjdk-7-jdk" yerine "openjdk-8-jdk" yazın.
Kod:
$ sudo apt-get install bc bison build-essential curl flex g++-multilib gcc-multilib git gnupg gperf imagemagick lib32ncurses5-dev lib32readline-gplv2-dev lib32z1-dev libesd0-dev liblz4-tool libncurses5-dev libsdl1.2-dev libssl-dev libwxgtk2.8-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev
Eğer Ubuntu 15.10 Ya Da Daha Yeni Bir Sürümdeyseniz :
Yukarıda yer alan "lib32readline-gplv2-dev" bölümünü "lib32readline6-dev" olarak değiştirin.
Eğer Ubuntu 16.04 Ya Da Daha Yeni Bir Sürümdeyseniz :
Yukarıda yer alan "libwxgtk2.8-dev" bölümünü "libwxgtk3.0-dev" olarak değiştirin.
Derleme Hazırlığı :
Not (1) : mkdir kodu klasör oluşturma kodudur. Çok civcivli geliyorsa size "mkdir bin" yazmak yerine bin adında bir klasörde oluşturabilirsiniz.
Not (2) : cd kodu klasöre gitme kodudur. Çok civcivli geliyorsa size "cd bin" yazmak yerine oluşturduğunuz bin klasöre tıklayıp açabilir daha sonra orada ayrı bir terminalde açabilirsiniz.
$ mkdir bin
$ curl
$ chmod a+x ~/bin/repo
Daha sonra "nano ~/.bashrc" komutunu verin.Ve aşağıdaki
kod dizinini ekleyin.
Daha sonra bashrc dosyasını kaydedin ve çıkın.
$ git config --global user.email xxxxx -> xxxxx olarak belirttiğim yere github hesabınızın üstünde olduğu email adresini yazın.
Örneğin : muallim@gmail.com gibi ;
$ git config --global user.name xxxxx -> xxxxx olarak belirttiğim yere github isminizi yazınız.
Örneğin : muallim gibi (Türkçe karakter içermesin.)
Not (2) : cd kodu klasöre gitme kodudur. Çok civcivli geliyorsa size "cd bin" yazmak yerine oluşturduğunuz bin klasöre tıklayıp açabilir daha sonra orada ayrı bir terminalde açabilirsiniz.
$ mkdir bin
$ curl
Linkleri görebilmek için kayıt olmanız gerekmektedir
> ~/bin/repo$ chmod a+x ~/bin/repo
Daha sonra "nano ~/.bashrc" komutunu verin.Ve aşağıdaki
Kod:
export USE_CCACHE=1
export CCACHE_DIR=/android/prebuilts/misc/linux-x86/ccache
kod dizinini ekleyin.
Daha sonra bashrc dosyasını kaydedin ve çıkın.
$ git config --global user.email xxxxx -> xxxxx olarak belirttiğim yere github hesabınızın üstünde olduğu email adresini yazın.
Örneğin : muallim@gmail.com gibi ;
$ git config --global user.name xxxxx -> xxxxx olarak belirttiğim yere github isminizi yazınız.
Örneğin : muallim gibi (Türkçe karakter içermesin.)
Derleme :
$ mkdir xxxxx -> xxxxx yerine rom ismini yazın
$ cd xxxxx -> xxxxx yerine rom ismini yazın
Örneğin :
$ mkdir lineage
$ cd lineage -> Gibi
$ repo init -u "romunuzun repo adresi" -b xxxxx -> Bu komut romun nerede olduğunu ne olduğunu terminale tanıtır.
"xxxxx" olarak belirttiğim yer derlenmek istenen rom versiyonudur.
Örneğin : cm-14.1 yada cm-13.0 gibi
$ repo sync
Eğer yukarıdaki kodun sonuna -j4 ya da -j8 gibi bir ek getirirseniz bu indirmeyi hızlandırır. Belirttiğim sayılar yerine en fazla 16 yazmanızı tavsiye ederim.
1 - Şimdi Device Tree - Kernel - Vendor İndirme kısmını okuyun ve uygulayın.
2 - Daha sonra onun aşağısında anlattığım Taban Eşitleme bölümünü okuyun ve uygulayın.
Yukarıda 1 ve 2 numaralarıyla belirttiğim bölümleri video anlatımından da takip edip görsel fikre sahip olabilirsiniz.
Daha sonra rom kaynağının anadizinine gelin ve ;
$ source build/envsetup.sh
$ lunch -> Bunu yazdıktan sonra cihazlar numaralandırılmış halde listelenir. Listeden cihazınızın numarasını bulup yazın.
$ brunch xxxxx -> xxxxx olarak belirttiğim yere cihazınızın kod adını yazın.
Örneğin : "brunch seed" gibi.
İşlem bittikten sonra :
$ cd out/target/product/xxxxx
xxxxx olarak belirttiğim yer cihaz kod adıdır.
Yukarıdaki kodu yazarak derlemesi tamamlanmış romun bulunduğu klasöre gidebilirsiniz.
Örneğin : $ cd /out/target/product/seed-> gibi.
$ cd xxxxx -> xxxxx yerine rom ismini yazın
Örneğin :
$ mkdir lineage
$ cd lineage -> Gibi
$ repo init -u "romunuzun repo adresi" -b xxxxx -> Bu komut romun nerede olduğunu ne olduğunu terminale tanıtır.
"xxxxx" olarak belirttiğim yer derlenmek istenen rom versiyonudur.
Örneğin : cm-14.1 yada cm-13.0 gibi
$ repo sync
Eğer yukarıdaki kodun sonuna -j4 ya da -j8 gibi bir ek getirirseniz bu indirmeyi hızlandırır. Belirttiğim sayılar yerine en fazla 16 yazmanızı tavsiye ederim.
1 - Şimdi Device Tree - Kernel - Vendor İndirme kısmını okuyun ve uygulayın.
2 - Daha sonra onun aşağısında anlattığım Taban Eşitleme bölümünü okuyun ve uygulayın.
Yukarıda 1 ve 2 numaralarıyla belirttiğim bölümleri video anlatımından da takip edip görsel fikre sahip olabilirsiniz.
Daha sonra rom kaynağının anadizinine gelin ve ;
$ source build/envsetup.sh
$ lunch -> Bunu yazdıktan sonra cihazlar numaralandırılmış halde listelenir. Listeden cihazınızın numarasını bulup yazın.
$ brunch xxxxx -> xxxxx olarak belirttiğim yere cihazınızın kod adını yazın.
Örneğin : "brunch seed" gibi.
İşlem bittikten sonra :
$ cd out/target/product/xxxxx
xxxxx olarak belirttiğim yer cihaz kod adıdır.
Yukarıdaki kodu yazarak derlemesi tamamlanmış romun bulunduğu klasöre gidebilirsiniz.
Örneğin : $ cd /out/target/product/seed-> gibi.
Device Tree - Kernel - Vendor İndirme
Şimdi cihazınızın device tree - kernel - vendor bilgilerini indireceksiniz.
Örneğin Github'dan indirmek için ;
git clone "xxxxx" -b yyyyy ccccc/zzzzz/ttttt -> şeklinde bir kod girip indirebilirsiniz.
Burada ;
xxxxx -> indirmek istediğiniz kodun - yani tree vs. - Github adresidir.
yyyyy -> İndirmek istediğiniz sürüm.
ccccc -> İndirmek istediğiniz kodun türü ( vendor - kernel ve ya device tree )
zzzzz -> indirdiğiniz kodun cihaz adıdır yani leeco markasına aitse oraya leeco, google ise google yazacaksınız.
ttttt -> cihazınızın kod adıdır yani Le Pro 3 ise zl1, GM 4G ise seed yazacaksınız.
Örneğin LeEco Le Pro 3 ( zl1 ) cihazı için gösterecek olursam bunları nasıl indireceğinizi ;
Örneğin ilk satırı açıklayacak olursam :
1)
Burada siz kendi treenizin ya da hangi kodunuzu indiriyorsanız onun linki olmalıdır.
2) cm-14.1 -> "yyyyy" bölümüdür.
Burada cm-13.0'da yazabilirsiniz eğer LineageOS 13 derliyorsanız.
3) device -> "ccccc" bölümüdür.
Burada device yerine kernel ve ya vendorda yazabilirsiniz.
4) leeco -> "zzzzz" bölümüdür.
Burada leeco yerine sizin cihazınızın markası yer almalıdır. Örneğin google ya da sony gibi.
5) zl1 -> "ttttt" bölümüdür.
Burada zl1 yerine sizin cihazınızın kod adı bulunmalıdır. Örneğin seed ya da huashan gibi.
Diğer satırlarıda inceleyip yapının nasıl olduğunu anlayabilirsiniz.
Video anlatımı bu konuda siz yardımcı olacaktır.
Tabi lineage.dependencies içindeki satırlarda bu konuda önemlidir.
Örneğin zl1 cihazının lineage.dependencies bölümünü açtığınızda aşağıdaki gibi bir şey ile karşılaşırsınız.
Bu yukarıdaki zımbırtılar gerekli paketlerdir.
Örneğin : android_device_qcom_common kısmını inceleyecek olursak ;
Bizim bu pakete derlemede ihtiyacımız olacak demektir. Bazı gerekli dosyalar içeriyor demektir.
Bu paketi LineageOS'un Github'da ki kaynağında arayarak bulabilirsiniz. Arama çubuğuna android_device_qcom_common yazmanız yeterlidir orada çıkar ve tıklar adresine gidersiniz.
Daha sonra linkini kopyalarsınız.
Bunu da yukarıda tree - vendor - kernel indirirken yaptığımız gibi indireceğiz.
" $ git clone
gibi komut vererek indirebilir ve uygun yere atabilirsiniz.
Bu şekilde diğer belirtilenleride LineageOS kaynağından bulup aynı şekilde komut vererek indirmelisiniz.
NOT : Sondaki o " device/qcom/common " bölümünün işlevi indirilecek yeri belirtmektir.
Örneğin : orayı yazarak önce bir device klasörü oluşturursunuz. Daha sonra o klasörün içine bir qcom klasörü daha sonrada qcom klasörünün içine bir common klasörü oluşturursunuz.
Bu yukarıda anlattığım tree - vendor - kernel kısımları içinde geçerlidir.
Örneğin : kernel/leeco/msm8996 yazarak kernel adlı bir klasör oluşturup daha sonra onun içine bir leeco adlı klasör daha oluşturup onun içinede bir msm8996 klasörü oluşturursunuz.
Peki bu klasör isimleri nasıl belirleniyor diye sorarsanız githubdaki o bölümün ismine bakmanız yeterlidir.
Yani
Diğer kaynakları da nasıl indireceğinizi ve nasıl isimlendireceğinizi bu şekilde çözersiniz.
Bütün kaynakları bu şekilde indireceksiniz.
Örneğin Github'dan indirmek için ;
git clone "xxxxx" -b yyyyy ccccc/zzzzz/ttttt -> şeklinde bir kod girip indirebilirsiniz.
Burada ;
xxxxx -> indirmek istediğiniz kodun - yani tree vs. - Github adresidir.
yyyyy -> İndirmek istediğiniz sürüm.
ccccc -> İndirmek istediğiniz kodun türü ( vendor - kernel ve ya device tree )
zzzzz -> indirdiğiniz kodun cihaz adıdır yani leeco markasına aitse oraya leeco, google ise google yazacaksınız.
ttttt -> cihazınızın kod adıdır yani Le Pro 3 ise zl1, GM 4G ise seed yazacaksınız.
Örneğin LeEco Le Pro 3 ( zl1 ) cihazı için gösterecek olursam bunları nasıl indireceğinizi ;
Kod:
git clone https://github.com/LineageOS/android_device_leeco_zl1 -b cm-14.1 device/leeco/zl1
git clone https://github.com/LineageOS/android_kernel_leeco_msm8996 -b cm-14.1 kernel/leeco/msm8996
git clone https://github.com/Mbtt107/proprietary_vendor_leeco_zl1 -b cm-14.1 vendor/leeco/zl1
Örneğin ilk satırı açıklayacak olursam :
1)
Linkleri görebilmek için kayıt olmanız gerekmektedir
bölümü yukarıda gösterdiğim "xxxxx" bölümüdür.Burada siz kendi treenizin ya da hangi kodunuzu indiriyorsanız onun linki olmalıdır.
2) cm-14.1 -> "yyyyy" bölümüdür.
Burada cm-13.0'da yazabilirsiniz eğer LineageOS 13 derliyorsanız.
3) device -> "ccccc" bölümüdür.
Burada device yerine kernel ve ya vendorda yazabilirsiniz.
4) leeco -> "zzzzz" bölümüdür.
Burada leeco yerine sizin cihazınızın markası yer almalıdır. Örneğin google ya da sony gibi.
5) zl1 -> "ttttt" bölümüdür.
Burada zl1 yerine sizin cihazınızın kod adı bulunmalıdır. Örneğin seed ya da huashan gibi.
Diğer satırlarıda inceleyip yapının nasıl olduğunu anlayabilirsiniz.
Video anlatımı bu konuda siz yardımcı olacaktır.
Tabi lineage.dependencies içindeki satırlarda bu konuda önemlidir.
Örneğin zl1 cihazının lineage.dependencies bölümünü açtığınızda aşağıdaki gibi bir şey ile karşılaşırsınız.
Kod:
[
{
"repository": "android_device_leeco_msm8996-common",
"target_path": "device/leeco/msm8996-common" },
},
{
"repository": "android_device_qcom_common",
"target_path": "device/qcom/common"
},
{
"repository": "android_vendor_nxp-nfc_opensource_frameworks",
"target_path": "vendor/nxp-nfc/opensource/frameworks" },
},
{
"repository": "android_vendor_nxp-nfc_opensource_libnfc-nci",
"target_path": "vendor/nxp-nfc/opensource/libnfc-nci"
},
{
"repository": "android_vendor_nxp-nfc_opensource_Nfc",
"target_path": "vendor/nxp-nfc/opensource/Nfc"
}
]
Bu yukarıdaki zımbırtılar gerekli paketlerdir.
Örneğin : android_device_qcom_common kısmını inceleyecek olursak ;
Bizim bu pakete derlemede ihtiyacımız olacak demektir. Bazı gerekli dosyalar içeriyor demektir.
Bu paketi LineageOS'un Github'da ki kaynağında arayarak bulabilirsiniz. Arama çubuğuna android_device_qcom_common yazmanız yeterlidir orada çıkar ve tıklar adresine gidersiniz.
Daha sonra linkini kopyalarsınız.
Bunu da yukarıda tree - vendor - kernel indirirken yaptığımız gibi indireceğiz.
" $ git clone
Linkleri görebilmek için kayıt olmanız gerekmektedir
-b cm-14.1 device/qcom/common "gibi komut vererek indirebilir ve uygun yere atabilirsiniz.
Bu şekilde diğer belirtilenleride LineageOS kaynağından bulup aynı şekilde komut vererek indirmelisiniz.
NOT : Sondaki o " device/qcom/common " bölümünün işlevi indirilecek yeri belirtmektir.
Örneğin : orayı yazarak önce bir device klasörü oluşturursunuz. Daha sonra o klasörün içine bir qcom klasörü daha sonrada qcom klasörünün içine bir common klasörü oluşturursunuz.
Bu yukarıda anlattığım tree - vendor - kernel kısımları içinde geçerlidir.
Örneğin : kernel/leeco/msm8996 yazarak kernel adlı bir klasör oluşturup daha sonra onun içine bir leeco adlı klasör daha oluşturup onun içinede bir msm8996 klasörü oluşturursunuz.
Peki bu klasör isimleri nasıl belirleniyor diye sorarsanız githubdaki o bölümün ismine bakmanız yeterlidir.
Yani
Linkleri görebilmek için kayıt olmanız gerekmektedir
device_qcom_common bölümünde kırmızı ile belirttiğim yere bakarsanız ismini nereden aldığını anlarsınız.Diğer kaynakları da nasıl indireceğinizi ve nasıl isimlendireceğinizi bu şekilde çözersiniz.
Bütün kaynakları bu şekilde indireceksiniz.
Taban Eşitleme
Bu aşamada aşağıdaki 2 dosya ile ilgileneceğiz :
1) lineage.mk
2) lineage.dependencies
1 ) "lineage.mk" Düzenlemesi
lineage.mk -> xxxxx.mk olarak adlandırılacak xxxxx ise derlemek istenen rom ismidir.
Örneğin : SlimRom derliyorsanız "slim.mk" olacak.
Daha sonra ismini xxxxx.mk olarak değiştirdiğimiz yani slim.mk olarak değiştirdiysek o dosyanın içine giriyoruz.
Daha sonra cm yazan yerlere derlenmek istenen rom ismini yazacaksınız.
Örneğin : Bu ".mk" dosyasının içinde şöyle satırlarla karşılaşacaksınız :
" $(call inherit-product, vendor/cm/config/common_full_phone.mk) " gibi.
Yukarıdaki satırda yeşil ile belirttiğim cm bölümünün yerine derlemek istediğiniz romun ismini yazacaksınız. Yani aşağıdaki gibi görünecek.
" $(call inherit-product, vendor/slim/config/common_full_phone.mk) "
Ayrıca "PRODUCT_NAME := lineage_xxxxx" satırında da "lineage" yazan yere derlenmek istenen romun ismini yazacaksınız.
Yani böyle görünecek : "PRODUCT_NAME := slim_xxxxx"
Burada xxxxx olarak belirttiğim yer sizin cihazınızın kod ismidir.
Yani slim_zl1 ya da slim_seed gibi görünür.
Ayrıca roma göre değişen protokoller vardır.
Örneğin : xosp romunda ekstra eklenmesi gereken bir satır vardır. Bu satır rom derlemesi için gereklidir eğer böyle farklılıklar içeren romları derliyorsanız araştırmanızı ona göre yapın.
Mesela o romu official olarak alan cihazların treelerini inceleyip bu şekilde karşılaştırmanızı yapabilirsiniz.
2 ) "lineage.dependencies" Düzenlemesi
lineage.dependencies dosyasının ismini de derlemek istediğiniz romun ismi gibi yapın. slim.dependencies gibi.
Bu aşamadan sonra LineageOS treesi derlenmek istenen rom tabanıyla eşit olacak.
1) lineage.mk
2) lineage.dependencies
1 ) "lineage.mk" Düzenlemesi
lineage.mk -> xxxxx.mk olarak adlandırılacak xxxxx ise derlemek istenen rom ismidir.
Örneğin : SlimRom derliyorsanız "slim.mk" olacak.
Daha sonra ismini xxxxx.mk olarak değiştirdiğimiz yani slim.mk olarak değiştirdiysek o dosyanın içine giriyoruz.
Daha sonra cm yazan yerlere derlenmek istenen rom ismini yazacaksınız.
Örneğin : Bu ".mk" dosyasının içinde şöyle satırlarla karşılaşacaksınız :
" $(call inherit-product, vendor/cm/config/common_full_phone.mk) " gibi.
Yukarıdaki satırda yeşil ile belirttiğim cm bölümünün yerine derlemek istediğiniz romun ismini yazacaksınız. Yani aşağıdaki gibi görünecek.
" $(call inherit-product, vendor/slim/config/common_full_phone.mk) "
Ayrıca "PRODUCT_NAME := lineage_xxxxx" satırında da "lineage" yazan yere derlenmek istenen romun ismini yazacaksınız.
Yani böyle görünecek : "PRODUCT_NAME := slim_xxxxx"
Burada xxxxx olarak belirttiğim yer sizin cihazınızın kod ismidir.
Yani slim_zl1 ya da slim_seed gibi görünür.
Ayrıca roma göre değişen protokoller vardır.
Örneğin : xosp romunda ekstra eklenmesi gereken bir satır vardır. Bu satır rom derlemesi için gereklidir eğer böyle farklılıklar içeren romları derliyorsanız araştırmanızı ona göre yapın.
Mesela o romu official olarak alan cihazların treelerini inceleyip bu şekilde karşılaştırmanızı yapabilirsiniz.
2 ) "lineage.dependencies" Düzenlemesi
lineage.dependencies dosyasının ismini de derlemek istediğiniz romun ismi gibi yapın. slim.dependencies gibi.
Bu aşamadan sonra LineageOS treesi derlenmek istenen rom tabanıyla eşit olacak.
LineageOS İçin :
Öncelikle Gerekli Paketlerin Yüklenmesi ve Derleme Hazırlığı bölümlerini uygulayın.
Daha sonra ;
$ mkdir lineage
$ cd lineage
$ repo init -u
$ repo sync -> Bu kod ise terminale tanıtılan romun kaynak kodlarını indirmeye başlar.
1 - Şimdi Device Tree - Kernel - Vendor İndirme kısmını okuyun ve uygulayın.
2 - Daha sonra onun aşağısında anlattığım Taban Eşitleme bölümünü okuyun ve uygulayın.
Yukarıda 1 ve 2 numaralarıyla belirttiğim bölümleri video anlatımından da takip edip görsel fikre sahip olabilirsiniz.
CCache aktifleştirmek için :
Burası illede olsun denilen bir yer değildir.Ancak işinizi çok kolaylaştırır.
Öncelikle ne olduğunu anlamakta fayda var.
CCache bir nevi hızlandırmadır.Önceden zaten inşaa edilmiş dosyaları tekrar inşaa etmek yerine onları uygun şekilde yamalayıp hazırlar.
Bu sayede onlarında inşaasına zaman harcanmaz.
Aktifleştirmek için :
$ echo "export USE_CCACHE=1" >> ~/.bashrc
$ ~/lineage/prebuilts/misc/linux-x86/ccache/ccache -M 50G
$ source build/envsetup.sh[font=tahoma,verdana,arial,sans-serif] [/font]
$ lunch -> Bunu yazdıktan sonra cihazlar numaralandırılmış halde listelenir. Listeden cihazınızın numarasını bulup yazın.
$ [font=tahoma,verdana,arial,sans-serif]brunch xxxxx-> xxxxx olarak belirttiğim yer cihazınızın kod adıdır.[/font]
Örneğin : "brunch zl1" gibi. Bu kod derleme işlemini başlatır.
Bittiğinde isterseniz ;
cd out/target/product/yyyyy
koduyla derlemesi biten romun bulunduğu klasöre gidebilirsiniz.
Eğer el ile yaparım diyorsanız ;
out -> target -> product -> yyyyy yolunu izleyerek gidebilirsiniz.
Daha sonra ;
$ mkdir lineage
$ cd lineage
$ repo init -u
Linkleri görebilmek için kayıt olmanız gerekmektedir
-b cm-14.1$ repo sync -> Bu kod ise terminale tanıtılan romun kaynak kodlarını indirmeye başlar.
1 - Şimdi Device Tree - Kernel - Vendor İndirme kısmını okuyun ve uygulayın.
2 - Daha sonra onun aşağısında anlattığım Taban Eşitleme bölümünü okuyun ve uygulayın.
Yukarıda 1 ve 2 numaralarıyla belirttiğim bölümleri video anlatımından da takip edip görsel fikre sahip olabilirsiniz.
CCache aktifleştirmek için :
Burası illede olsun denilen bir yer değildir.Ancak işinizi çok kolaylaştırır.
Öncelikle ne olduğunu anlamakta fayda var.
CCache bir nevi hızlandırmadır.Önceden zaten inşaa edilmiş dosyaları tekrar inşaa etmek yerine onları uygun şekilde yamalayıp hazırlar.
Bu sayede onlarında inşaasına zaman harcanmaz.
Aktifleştirmek için :
$ echo "export USE_CCACHE=1" >> ~/.bashrc
$ ~/lineage/prebuilts/misc/linux-x86/ccache/ccache -M 50G
$ source build/envsetup.sh[font=tahoma,verdana,arial,sans-serif] [/font]
$ lunch -> Bunu yazdıktan sonra cihazlar numaralandırılmış halde listelenir. Listeden cihazınızın numarasını bulup yazın.
$ [font=tahoma,verdana,arial,sans-serif]brunch xxxxx-> xxxxx olarak belirttiğim yer cihazınızın kod adıdır.[/font]
Örneğin : "brunch zl1" gibi. Bu kod derleme işlemini başlatır.
Bittiğinde isterseniz ;
cd out/target/product/yyyyy
koduyla derlemesi biten romun bulunduğu klasöre gidebilirsiniz.
Eğer el ile yaparım diyorsanız ;
out -> target -> product -> yyyyy yolunu izleyerek gidebilirsiniz.
Paranoid Android İçin:
Öncelikle Gerekli Paketlerin Yüklenmesi ve Derleme Hazırlığı bölümlerini uygulayın.
Daha sonra ;
$ mkdir pa
$ cd pa
$ repo init -u
$ repo sync
1 - Şimdi Device Tree - Kernel - Vendor İndirme kısmını okuyun ve uygulayın.
2 - Daha sonra onun aşağısında anlattığım Taban Eşitleme bölümünü okuyun ve uygulayın.
3 - Paranoid Android'in derleme protokolleri farklı olduğu için aşağıdakileri de 2. adımdan sonra uygulamalısınız.
İlk olarak vendor/pa/products dizinine gidin.
a1) AndroidProducts.mk dosyasını açın ve cihazların içerisine kendi cihazınızı kaydedin.
Yine her zaman belirttiğim gibi xxxxx cihazınızın kod adıdır.
"$(LOCAL_DIR)/xxxxx/pa_xxxxx.mk" yani bu satır gibi bir satır ilave etmeniz gerekiyor.
a2) Aynı klasöre kendi cihazınızın adını taşıyan bir klasör açın
Örneğin: ugglite gibi.
a3) Açtığınız klasörünüzün içine bir pa_xxxxx.mk ve birde pa.dependencies dosyası ekleyin.
pa_xxxxx.mk dosyası sizin cihazınızın basitçe lineage.mk dosyası gibi olmalıdır.
Ardından bu pa_xxxx.mk dosyasını kendi cihazınıza uygun olarak düzenleyin.
Bu kısımda taban eşitlemede anlattım değişiklikleri yapacaksınız. Yine resmi bir cihazdan yapılması gereken değişiklikleri öğrenebilirsiniz.
a4) Ardından pa dizinine geri gelip vendorsetup.sh dosyasını açın ve size yukarıda anlattığım gibi lunch kodunuzu ekleyin.
Yukarıda 1 ve 2 numaralarıyla belirttiğim bölümleri video anlatımından da takip edip görsel fikre sahip olabilirsiniz.
$ source build/envsetup.sh
$ lunch -> Bunu yazdıktan sonra cihazlar numaralandırılmış halde listelenir. Listeden cihazınızın numarasını bulup yazın.
$ ./rom-build.sh xxxxx -> xxxxx olarak belirttiğim yer cihazınızın kod adıdır.
Örneğin : "./rom-build.sh zl1" gibi. Bu kod derleme işlemini başlatır.
Bittiğinde isterseniz ;
cd $OUT
koduyla derlemesi biten romun bulunduğu klasöre gidebilirsiniz.
Eğer el ile yaparım diyorsanız ;
out -> target -> product -> yyyyy yolunu izleyerek gidebilirsiniz.
Daha sonra ;
$ mkdir pa
$ cd pa
$ repo init -u
Linkleri görebilmek için kayıt olmanız gerekmektedir
-b nougat-mr2 ya da hangi sürüm istiyorsanız onu yazın.$ repo sync
1 - Şimdi Device Tree - Kernel - Vendor İndirme kısmını okuyun ve uygulayın.
2 - Daha sonra onun aşağısında anlattığım Taban Eşitleme bölümünü okuyun ve uygulayın.
3 - Paranoid Android'in derleme protokolleri farklı olduğu için aşağıdakileri de 2. adımdan sonra uygulamalısınız.
İlk olarak vendor/pa/products dizinine gidin.
a1) AndroidProducts.mk dosyasını açın ve cihazların içerisine kendi cihazınızı kaydedin.
Yine her zaman belirttiğim gibi xxxxx cihazınızın kod adıdır.
"$(LOCAL_DIR)/xxxxx/pa_xxxxx.mk" yani bu satır gibi bir satır ilave etmeniz gerekiyor.
a2) Aynı klasöre kendi cihazınızın adını taşıyan bir klasör açın
Örneğin: ugglite gibi.
a3) Açtığınız klasörünüzün içine bir pa_xxxxx.mk ve birde pa.dependencies dosyası ekleyin.
pa_xxxxx.mk dosyası sizin cihazınızın basitçe lineage.mk dosyası gibi olmalıdır.
Ardından bu pa_xxxx.mk dosyasını kendi cihazınıza uygun olarak düzenleyin.
Bu kısımda taban eşitlemede anlattım değişiklikleri yapacaksınız. Yine resmi bir cihazdan yapılması gereken değişiklikleri öğrenebilirsiniz.
a4) Ardından pa dizinine geri gelip vendorsetup.sh dosyasını açın ve size yukarıda anlattığım gibi lunch kodunuzu ekleyin.
Yukarıda 1 ve 2 numaralarıyla belirttiğim bölümleri video anlatımından da takip edip görsel fikre sahip olabilirsiniz.
$ source build/envsetup.sh
$ lunch -> Bunu yazdıktan sonra cihazlar numaralandırılmış halde listelenir. Listeden cihazınızın numarasını bulup yazın.
$ ./rom-build.sh xxxxx -> xxxxx olarak belirttiğim yer cihazınızın kod adıdır.
Örneğin : "./rom-build.sh zl1" gibi. Bu kod derleme işlemini başlatır.
Bittiğinde isterseniz ;
cd $OUT
koduyla derlemesi biten romun bulunduğu klasöre gidebilirsiniz.
Eğer el ile yaparım diyorsanız ;
out -> target -> product -> yyyyy yolunu izleyerek gidebilirsiniz.
VİDEO ANLATIMI
Linkleri görebilmek için kayıt olmanız gerekmektedir
Linkleri görebilmek için kayıt olmanız gerekmektedir
Son düzenleme: