Çekirdek kullanan Android 12 ile başlatılan cihazlar
GKI çekirdeğiyle gönderim için sürüm 5.4'ten daha yüksek sürümler gerekir. Böylece
iş ortakları, GKI üzerinde geliştirme yaparken kullanıcı hata ayıklama derlemelerindeki DebugFS
öğesine erişebilir
GKI defconfig'de CONFIG_DEBUG_FS
çekirdek yapılandırması etkinleştirildi.
Cihazlar için kullanıcı derlemelerine hiçbir zaman DebugFS
ekleme
Android 12'de kullanıma sunulacak.
Userdebug derlemelerinin test kapsamı, kullanıcı derlemelerinden daha iyidir ve
test edilir. Aşağıdaki plan,
DebugFS
erişimine göre iki derleme türü arasındaki fark ve
şu avantajları sağlar:
DebugFS
bağlı olarak kullanıcı hata ayıklama derlemelerinin yanlışlıkla yapılmasını engeller yeni işlevler için- DebugFS eksikliği nedeniyle bozulan tüm mevcut işlevlerin çalışmasını sağlar. erken aşamalarda biliniyor olması
Userdebug derlemelerindeki Debugfs erişimleri şu şekilde sınıflandırılır: şöyle olur:
- Cihaz önyüklemesi sırasında
DebugFS
dosya başlatma. Örneğin: Hata ayıklama verisi toplama özelliğini etkinleştirmek içinDebugFS
ürününde bir dosyaya yazma erişimi. - Hata raporu oluşturma: Döküm durumu HAL, aşağıdaki durumlarda
DebugFS
dosyalarını okurDumpstateBoard()
,dumpstate
tarafından çağrılıyor. Bu bilgileri hata raporunun bir parçası haline gelir. - Cihaza özel test ve doğrulama.
Aşağıdaki tabloda bu üç kategorinin her birinin
Android 12'de desteklenir. Lütfen
Aşağıdaki işlemler yalnızca kullanıcı hata ayıklama derlemeleri için geçerlidir; çünkü DebugFS
,
kullanıcı derlemelerine eklenir.
Kullanım alanı | Android 12 kullanıcı hata ayıklama derlemesi |
---|---|
Başlangıç sırasında tek seferlik DebugFS dosyası başlatma.
Bu erişim, başlatma süresi boyunca yalnızca bir kez gerçekleşir.
|
Dumpstate HAL, bu işlemi HAL başlatma sırasında gerçekleştirir. Aynısını etkinleştirmek için
init, HAL başlatılmadan önce userdebug derlemelerine DebugFS ekler.
Init , şu durumlarda DebugFS üzerinde umount() numaralı telefonu arar:
cihazın başlatma işlemi tamamlandı.
|
Hata raporu oluşturma: Döküm durumu HAL,
DebugFS dosyaları hata raporunun bir parçası haline geldi.
|
Döküm durumu tarafından çağrıldığında DumpstateBoard() içinde döküm HAL tarafından tamamlandı
(DumpstateDevice.cpp).
Döküm aracı (Android çerçevesinin bir parçasıdır) DebugFS
eklenir.
|
Cihaza özel test ve doğrulama | Adb kökü ve kabuğu. şununla adb kabuğundan DebugFS ekleyin:
root erişimi1.
|
1adb shell
üzerinden DebugFS
eklemek için
root erişimi için aşağıdaki komutu kullanın:
adb shell mount -t debugfs debugfs /sys/kernel/debug
.
Gerekli iş ortağı işlemleri
İş Ortakları, Android 12 cihazlar:
DebugFS
düğümün tüm başlatma süresi başlatmalarını gerçekleştir sırasında hata oluştu. Bunun nasıl yapılacağına ilişkin bir örnek için bkz. DNM:DebugFS
dosyanın başlatma süresini başlatma örneği.- Çalışma zamanında
DebugFS
erişimine izin verme. Aşağıdaki istisnalar geçerlidir:- Hata raporu oluşturma (dumpstate HAL'den gelir)
- Test ve doğrulama (
adb root
veshell
tarafından erişilebilir) - önce DebugFS'nin eklendiğinden emin olun)
Geliştiriciler, hata ayıklama kalıcı özelliğini ayarlayabilirler
DebugFs
cihazının monte edilmesi için persist.dbg.keep_debugfs_mounted
Userdebug ve eng derlemelerinde yeniden başlatılır.
GTS uyumluluk testleri, DebugFS
dosya sisteminin
kullanıcı derlemelerine eklenir. Sepolicy neverallow
ifadeleri, kullanıcıların
Android 12 veya sonraki bir sürüm yüklüyse yetkisiz işlemler sağlanmaz
DebugFs
erişimi.