- Adım
- cıyanogen
- Cihazım
- J1 (2016)
- Yaş
- 25
- Konum
- Adana
- Katılım
- 20 Eylül 2018
- Konular
- 5
- Mesajlar
- 8
- Tepkime puanı
- 28
- Puanları
- 13
DİPNOT
BU İŞLEMDEN DOĞACAK SORUNLARDAN ŞAHSIM VE FORUM MIUI TÜRKİYE SORUMLU TUTULAMAZ.
AÇIKLAMA
Bu kılavuz ile açık kaynaklı Android sürücülerinizi derleyebilirsiniz.
Ricam eğer bu kılavuzdan en ufak bir yardım aldıysanız sadece konunuzun teşekkürler kısmında benim de ismim geçsin.
Hazırlanmasında ve yapımında en çok emeği olan mbtt hocama teşekkür ederim![Smile :) :)](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
ANLATIM
Derleme Paketlerinin Hazırlanması
Android SDK & NDK Kurulumu
Toolchain Hazırlama
Repo Toolu İndirme Ve Kurma
Versiyon Seçimi
Android Kaynağını İndirme
Derleme
BU İŞLEMDEN DOĞACAK SORUNLARDAN ŞAHSIM VE FORUM MIUI TÜRKİYE SORUMLU TUTULAMAZ.
AÇIKLAMA
Bu kılavuz ile açık kaynaklı Android sürücülerinizi derleyebilirsiniz.
Ricam eğer bu kılavuzdan en ufak bir yardım aldıysanız sadece konunuzun teşekkürler kısmında benim de ismim geçsin.
Hazırlanmasında ve yapımında en çok emeği olan mbtt hocama teşekkür ederim
ANLATIM
Derleme Paketlerinin Hazırlanması
1- Aşağıdaki birinci satır mevcut ubuntu paketlerini günceller.
2- İkincisi Java8 sürümünü indirir ve yükler. Eğer yüklüyse son sürümüne günceller.
3- Bir çok paket içerir. Bu paketler android sürücü-kütüphane-app derlemeleri için kullanılan genel paketlerdir.
2- İkincisi Java8 sürümünü indirir ve yükler. Eğer yüklüyse son sürümüne günceller.
3- Bir çok paket içerir. Bu paketler android sürücü-kütüphane-app derlemeleri için kullanılan genel paketlerdir.
Kod:
sudo apt-get upgrade
sudo apt-get install openjdk-8-jdk
sudo apt-get install git ccache automake lzop bison gperf build-essential zip curl zlib1g-dev zlib1g-dev:i386 g++-multilib python-networkx libxml2-utils bzip2 libbz2-dev libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 libbz2-1.0:i386 libbz2-1.0 libghc-bzlib-dev squashfs-tools pngcrush schedtool dpkg-dev liblz4-tool make optipng
Android SDK & NDK Kurulumu
Masaüstünde terminale aşağıdaki komutları verin.
Yukarıdaki 2 komut SDK ve NDK paketleri için klasör oluşturacaktır
Daha sonra aşağıda verilen 2 adresten ilkinden SDK ikincisinden NDK paketini indirip;
SDK paketini Android/Sdk altına
NDK paketini Android/Sdk/ndk-bundle altına zipten çıkararak atın.
Kod:
mkdir /Android/Sdk
mkdir /Android/Sdk/ndk-bundle
Yukarıdaki 2 komut SDK ve NDK paketleri için klasör oluşturacaktır
Daha sonra aşağıda verilen 2 adresten ilkinden SDK ikincisinden NDK paketini indirip;
SDK paketini Android/Sdk altına
NDK paketini Android/Sdk/ndk-bundle altına zipten çıkararak atın.
Linkleri görebilmek için kayıt olmanız gerekmektedir
Linkleri görebilmek için kayıt olmanız gerekmektedir
Toolchain Hazırlama
Masaüstünde aşağıdaki komutu vererek bir "toolchains" klasörü oluşturun.
Daha sonra açtığımız ndk-bundle klasörü altında build/tools dizinine giderek orada bir terminal açın ve aşağıdaki komutu verin.
NOT: kullanıcıadı kısmı sizin linux kullanıcı adınıza göre değişecektir.
Örneğin:
Ben mbtt koymuşsam /home/mbtt/toolchains/aarch64-linux-android-4.9 yazacağım
Daha sonra masaüstünde açtığınız terminalde aşağıdaki komutu verin.
Yukarıdaki nota riayet ederek kullanıcıadı kısmına Linux kullanıcı adınızı yazın.
Bu komut indirdiğimiz SDK ve NDK paketlerini sisteme tanıtır.
Kod:
mkdir toolchains
Daha sonra açtığımız ndk-bundle klasörü altında build/tools dizinine giderek orada bir terminal açın ve aşağıdaki komutu verin.
Kod:
./make_standalone_toolchain.py --arch arm64 --api 23 --stl=libc++ --install-dir /home/kullanıcıadı/toolchains/aarch64-linux-android-4.9
NOT: kullanıcıadı kısmı sizin linux kullanıcı adınıza göre değişecektir.
Örneğin:
Ben mbtt koymuşsam /home/mbtt/toolchains/aarch64-linux-android-4.9 yazacağım
Daha sonra masaüstünde açtığınız terminalde aşağıdaki komutu verin.
Yukarıdaki nota riayet ederek kullanıcıadı kısmına Linux kullanıcı adınızı yazın.
Kod:
export PATH=$PATH:/usr/local/android-studio/bin:/home/kullanıcıadı/Android/Sdk/platform-tools:/home/kullanıcıadı/Android/Sdk/ndk-bundle:/home/kullanıcıadı/Android/Sdk/tools
Bu komut indirdiğimiz SDK ve NDK paketlerini sisteme tanıtır.
Repo Toolu İndirme Ve Kurma
Repo toolu basitçe android git sisteminin çalışmasını sağlayan bir araçtır.
Aşağıdaki 2 satır repo toolunun indirileceği bin klasörünü hazırlar
Aşağıdaki ilk satır repo toolunu indirir.
İkincisi ise bu toolu etkinleştirir.
Aşağıdaki 2 satır repo toolunun indirileceği bin klasörünü hazırlar
Kod:
mkdir ~/bin
PATH=~/bin:$PATH
Aşağıdaki ilk satır repo toolunu indirir.
İkincisi ise bu toolu etkinleştirir.
Kod:
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
Versiyon Seçimi
Bu kısımda sürücülerin versiyonunu android sürümüne göre uygun olarak belirleyeceğiz.
Örneğin: nougat sürümlü bir roma derlemekle marshmallow sürümlü bir roma derleme farklı sürümleri seçmeyi gerektirir.
Bunun yolu romunuzun build.prop dosyasından ro.build.id satırının karşısında yazan android sürümünü öğrenmektir.
Daha sonra aşağıdaki linkten bu derleme numarasını uygun android versiyonuyla ve tam revize sürümüyle eşleştirin.
Örneğin: MMB29K sizin derleme numaranız ise linkten kontrol edererek bunun android-6.0.1_r1 adlı versiyon olduğunu görebilirsiniz.
Örneğin: nougat sürümlü bir roma derlemekle marshmallow sürümlü bir roma derleme farklı sürümleri seçmeyi gerektirir.
Bunun yolu romunuzun build.prop dosyasından ro.build.id satırının karşısında yazan android sürümünü öğrenmektir.
Daha sonra aşağıdaki linkten bu derleme numarasını uygun android versiyonuyla ve tam revize sürümüyle eşleştirin.
Linkleri görebilmek için kayıt olmanız gerekmektedir
Örneğin: MMB29K sizin derleme numaranız ise linkten kontrol edererek bunun android-6.0.1_r1 adlı versiyon olduğunu görebilirsiniz.
Android Kaynağını İndirme
Masaüstündeki terminale aşağıdaki komutu vererek Ana Android Kaynak Kodu klasörünü oluşturun.
Daha sonra aşağıdaki komutla terminalin aosp klasörü içerisinde işlem yapmasını sağlayın.
İndirmek istediğiniz android sürümünü belirleyin.
Aşağıdaki androidsürümü yukarıda eşleştirdiğimiz android sürümüdür.
Örneğin:
gibi.
Ardından aşağıdaki komutu vererek kaynağı indirmeye başlayabilirsiniz.
Kaynak aşağı yukarı 15gb boyutundadır epey uğraştırır.
Bu yüzden local bir bilgisayar ve ağ bağlantısı yerine güçlü bir sunucu kullanımını tavsiye ederim.
Kod:
mkdir aosp
Daha sonra aşağıdaki komutla terminalin aosp klasörü içerisinde işlem yapmasını sağlayın.
Kod:
cd aosp
İndirmek istediğiniz android sürümünü belirleyin.
Aşağıdaki androidsürümü yukarıda eşleştirdiğimiz android sürümüdür.
Kod:
repo init --depth=1 -u https://android.googlesource.com/platform/manifest -b androidsürümü
Örneğin:
Kod:
repo init --depth=1 -u https://android.googlesource.com/platform/manifest -b android-6.0.1_r1
gibi.
Ardından aşağıdaki komutu vererek kaynağı indirmeye başlayabilirsiniz.
Kod:
repo sync
Kaynak aşağı yukarı 15gb boyutundadır epey uğraştırır.
Bu yüzden local bir bilgisayar ve ağ bağlantısı yerine güçlü bir sunucu kullanımını tavsiye ederim.
Derleme
İndirdiğimiz Android kaynağının olduğu aosp klasörüne giderek bir terminal açın ve;
Yukarıdaki komutu verin.
Bu komut derlenebilecek sürücülerin listesini karşınıza çıkaracaktır.
Yukarıdaki komut ise sürücüadı kısmına ismini yazdığınız modülü derlemeye başlar.
Örneğin:
gibi.
İşlem bittiğinde aşağıdaki satır çıkar.
Bu satır;
modülünüzün target/product/generic/system/bin/ klasörünün altına çıktığını gösterir.
Daha sonrasında ADB üzerinden ya da yüklenebilir zip olarak bu sürücüyü deneyebilirsiniz.
Kod:
make modules -- list the available modules
Yukarıdaki komutu verin.
Bu komut derlenebilecek sürücülerin listesini karşınıza çıkaracaktır.
Kod:
make sürücüadı
Yukarıdaki komut ise sürücüadı kısmına ismini yazdığınız modülü derlemeye başlar.
Örneğin:
Kod:
make dumpstate
gibi.
İşlem bittiğinde aşağıdaki satır çıkar.
Kod:
Install: /home/kullanıcıadı/aosp/out/target/product/generic/system/bin/dumpstate
Bu satır;
modülünüzün target/product/generic/system/bin/ klasörünün altına çıktığını gösterir.
Daha sonrasında ADB üzerinden ya da yüklenebilir zip olarak bu sürücüyü deneyebilirsiniz.