Оценете темата:
  • 1 гласа - средно 5
  • 1
  • 2
  • 3
  • 4
  • 5
[MOD][TUT] Универсален начин за активиране на init.d (3 метода)
#1

мнение 1 от ilianpk

Тази тема е леко променен превод на оригиналната тема от Ryuinferno в xda-developers.com


Какво е init.d?

init.d позволява на потребителите да инсталират скриптове и модове които да се изпълняват при буутването на телефона. Обикновено то е активирано предварително на custom kernel-и, но с начина, който ще опиша тук е възможно да го пуснете ръчно и на по-късен етап.

Дали телефона ми поддържа init.d в момента?

Ето как да проверите:
1. Изтеглете този файл http://goo.gl/4ehl8s
2. Разархивирайте го и ще намерите файл с име 00test
3. Сложете го в /etc/init.d. Aко тази папка не съществува, най-вероятно все още нямате init.d поддръжка, но ако все пак искате да проверите, създадете тази директория
4. Сменете permissions* на init.d папката и 00test файла на rwxrwxrwx
5. Рестартирайте телефона
6. Ако видите файл с име Test.log в /data значи телефона ви поддържа init.d вече и не е нужно да правите нищо повече

Забележка: Рестартирайте телефона 2-3 пъти, защото не винаги се появява този файл след първото рестартиране


__________________________________________________________________________________________________
__________________________________________________________________________________________________

Ryuinferno предоставя три метода за активиране на init.d поддръжката, ето ги и тях:



1. Uni-init - активиране на init.d поддръжка чрез приложение
*НЕ ФУНКЦИОНИРА ПОД АНДРОИД 4.3, ЗА МОМЕНТА ИЗПОЛЗВАЙТЕ ТРЕТИЯ МЕТОД (Term-init)*

Функции:
- Използва install-recovery.sh (ако вашия кернел го поддържа, но повечето, включително и стокови, го правят), за да активира init.d скриптове (изисква busybox run-parts)
- Ще добави редове в install-recovery.sh ако вече съществува (но няма да го замени), или ще го създаде ако го няма все още
- Създава init.d папката с правилните permissions*
- Добавя 2 init.d скрипта: един за тестване (показва време на изпълнение), и друг който ще подсигури папката да има правилните permissions* за в бъдеще
- Добавя sysinit в /system/bin, ще добави нужните редове, ако вече го има
- Изтрива дублирани файлове и редове за да подсигури колкото се може по-малко грешки

Изисквания:
- root
- busybox

Инструкции:
1. Изтеглете приложението (v1.0)
2. Инсталирайте го като всяко нормално приложение
3. Пуснете го и следвайте инструкциите в него
4. Можете да го деинсталирате след като приключите

За да проверите дали процедурата е успешна, рестартирайте 2-3 пъти телефона и потърсете файла Test.log в /data. Ако го има значи имате функционираща поддръжка на init.d



2. Zip-init - поддръжка на init.d чрез CWM
*НЕ ФУНКЦИОНИРА ПОД АНДРОИД 4.3, ЗА МОМЕНТА ИЗПОЛЗВАЙТЕ ТРЕТИЯ МЕТОД (Term-init)*

Функции:
Същите като на предния метод

Изисквания:
- root
- busybox
- работещо CWM recovery

Инструкции:
1. Изтеглете файла (v2)
2. Флашнете zip-init.zip през CWM
3. Рестартирайте и готово!

За да проверите дали процедурата е успешна, рестартирайте 2-3 пъти телефона и потърсете файла Test.log в /data. Ако го има значи имате функционираща поддръжка на init.d

Ако получите status 0 грешка в CWM, моля заменете update-binary в zip-init.zip с такова което работи за вашия телефон (вземете някое от друг CWM zip, който е предназначен за вашия телефон)



3. Term-init - поддръжка на init.d чрез terminal emulator
*ФУНКЦИОНИРА ПОД ВСИЧКИ ВЕРСИИ НА АНДРОИД ДО МОМЕНТА (ВКЛЮЧИТЕЛНО И 4.4)*

Функции:
- Автоматично проверява за нужните файлове [v2]
- Използва install-recovery.sh (ако вашия кернел го поддържа, но повечето, включително и стокови, го правят), за да активира init.d скриптове (изисква busybox run-parts)
- Ще премести install-recovery.sh в install-recovery-2.sh ако вече съществува и ще го повика от главното install-recovery.sh (няма да замести install-recovery.sh, тъй като някои приложения се нуждаят от него), ако все още не съществува, ще го създаде [v3]
- Ако Superuser използва install-recovery.sh, ще използва install-recovery-2.sh вместо него [v3]
- Създава init.d папката с правилните permissions*
- Добавя sysinit в system/bin, ще добави нужните редове ако то вече съществува. По този начин се използва подобен метод за активиране на init.d в AOSP ромове

Изисквания:
- root
- busybox
- terminal emulator (препоръчвам Android Terminal Emulator)

Инструкции:
1. Изтеглете файла (v3)
2. Сложете го в root (главната) директорията на вътрешната памет на телефона
3. Пуснете terminal emulator-a
4. Въведете: su
5. Разрешете SuperUser достъп (ако бъдете попитани)
6. Въведете: sh /sdcard/term-init.sh
7. Скрипта ще започне да се изпълнява, следвайте инструкциите и готово!

За да проверите дали процедурата е успешна, рестартирайте 2-3 пъти телефона и потърсете файла Test.log в /data. Ако го има значи имате функционираща поддръжка на init.d


__________________________________________________________________________________________________

Алтернативно, можете да свалите приложението Universal Init.d от Play Store-а, което емулира поведението на init.d механизма (изпълнявайки автоматично скриптове в /etc/init.d/) при буут, без да модифицира системни файлове





Ще се опитам да редактирам темата с най-новите версии на файловете, но винаги можете да проверявате за по-нови в оригиналната тема в xda-developers.

*разрешения - оставям я на английски, тъй като така ще намерите тази опция в повечето файлови мениджъри
Device: Sony Xperia Z3 D6603
ROM:
Stock Lollipop 5.0.2 // 
23.1.A.1.28 // VIVACOM
Цитирай
#2

мнение 2 от Be6i4

Поздравления за темата. Позволих си да я преместя тук в този раздел! :thumbup:
 Xiaomi MI6 & Huawei P9 Lite
При забелязано нарушение на правилата на форума , моля ползвайте бутона "Докладвай" ! ____________________
Цитирай




Потребители разглеждащи темата: 1 гост(и)

НАЧАЛО