Ένα πρόγραμμα για να αναβοσβήνει ένα tablet με υλικολογισμικό επέκτασης img. Επεξεργασία υλικολογισμικού img. Αποσυναρμολόγηση της εικόνας συστήματος ext4

Το MTwinTools είναι ένα βοηθητικό πρόγραμμα που σας επιτρέπει να εργάζεστε με αρχεία υλικολογισμικού και εικόνες boot.img, recovery.img και system.img. Ο συγγραφέας του βοηθητικού προγράμματος είναι το vin2809 από το φόρουμ 4pda. Το MTwinTool θα είναι χρήσιμο για τους ιδιοκτήτες smartphone της Huaweiβασίζεται σε επεξεργαστές MTK.

Οδηγός χρήστη για εργασία με το MTwinTools

1. Εισαγωγή.

1.1. Σκοπός.

Το εργαλείο MTwinTools προορίζεται για την αποσυναρμολόγηση/συναρμολόγηση εικόνων συσκευών που βασίζονται σε τσιπ MT.

Είναι κατασκευασμένο για χρήση σε γραμμή εντολώνβασίζεται στο εργαλείο RKwinTools, που έχει σχεδιαστεί για να λειτουργεί με συσκευές σε τσιπ RK29xx-RK31xx και ορισμένα προγράμματα που διανέμονται ελεύθερα.

Λειτουργεί μόνο με Windows 7 και νεότερες εκδόσεις χωρίς εγκατάσταση του CYGWIN και επίσης δεν απαιτεί πρόσθετη καταχώριση διαδρομών σε μεταβλητές περιβάλλοντος OS.

Το εργαλείο σάς επιτρέπει:

  • Αποσυσκευάστε και συσκευάστε την εικόνα Boot.img.
  • αποσυσκευάστε και συσκευάστε την εικόνα Recovery.img.
  • αποσυσκευάστε και συσκευάστε την εικόνα Kernel.img.
  • Αποσυσκευάστε και συσκευάστε την εικόνα System.img, τύπου yaffs και ext2-ext4.
  • να μετατρέψει ένα αραιό αρχείο τύπου sparse σε εικόνα τύπου ext4.
  • Υπολογίστε το άθροισμα ελέγχου ενός αρχείου σε μορφή md5.
  • εκκινήστε τον SuperUser.

1.2. Εγκατάσταση του MTwinTools.
Η εγκατάσταση του εργαλείου πραγματοποιείται με την αποσυσκευασία του αρχείου σε οποιοδήποτε μέρος είναι κατάλληλο για εσάς. Αυτό θα δημιουργήσει έναν φάκελο MTwinTools που περιέχει:

  • φακέλους _In/, App/ και Cygwin/;
  • καθώς και τα αρχεία Readme.txt και menu.bat.

Ο φάκελος _In είναι κενός και προορίζεται να περιέχει εικόνες πηγής για επεξεργασία. Ο φάκελος App/ περιέχει ένα σύνολο αρχείων εντολών που επεξεργάζονται εικόνες. Ο φάκελος Cygwin/ περιέχει βιβλιοθήκες και αρχεία βοηθητικών προγραμμάτων που μπορούν να αναδιανεμηθούν ελεύθερα. Το αρχείο Readme.txt περιέχει οδηγίες χρήστη, π.χ. το κείμενο που διαβάζετε αυτήν τη στιγμή. Το αρχείο menu.bat χρησιμοποιείται για τη δημιουργία του μενού εργαλείων MTwinTools.

ΠΡΟΣΟΧΗ. ΔΕΝ ΑΠΑΙΤΕΙΤΑΙ για τον καθορισμό διαδρομών πρόσβασης σε αρχεία υπηρεσίας στις μεταβλητές περιβάλλοντος του λειτουργικού συστήματος Windows.

Καθώς εργάζεστε, θα εμφανιστούν άλλοι απαραίτητοι φάκελοι:

  • Πακέτο, το οποίο θα περιέχει τα αρχεία εκκίνησης, αποκατάστασης και συστήματος μετά
    πακέτα, έναν φάκελο md5 που περιέχει αρχεία με άθροισμα ελέγχου, καθώς και έναν φάκελο
    Υλικολογισμικό, στον υποφάκελο Image του οποίου θα βρίσκονται τα συγκεντρωμένα αρχεία εκκίνησης,
    Ανάκτηση και Σύστημα.
  • Αποσυσκευάστε, στην οποία τα αρχεία εκκίνησης, ανάκτησης και συστήματος αποσυσκευάζονται ΤΕΛΕΙΩΣ
    θα βρίσκεται στον φάκελο Firmware, στον υποφάκελο Image.

1.3. Απεγκατάσταση του MTwinTools.

Το εργαλείο απεγκαθίσταται διαγράφοντας τον ριζικό φάκελο του εργαλείου, π.χ. Φάκελοι MTwinTools.

2. Βασικοί κανόνες εργασίας.

2.1.Για να ξεκινήσετε, πρέπει να εκτελέσετε το αρχείο menu.bat, το οποίο θα εκκινήσει το μενού του εργαλείου.

2.2.Οι εικόνες που προορίζονται για αποσυσκευασία πρέπει να τοποθετηθούν στο φάκελο _In του εργαλείου. Τα ονόματα των αρχείων εισαγωγής ΠΡΕΠΕΙ να περιέχουν λέξεις-κλειδιά και μπορεί να έχουν ονόματα όπως τα ακόλουθα:

  • *boot*.img;
  • *ανάκτηση*.img;
  • *kernel*.img;
  • *σύστημα*.img.

2.3.Όταν ξεκινάτε για πρώτη φορά, αρχικοποιήστε το εργαλείο. Όταν αρχικοποιηθεί το εργαλείο, ΟΛΑ τα αρχεία που βρίσκονται στο φάκελο _In θα αντιγραφούν στον φάκελο εισόδου εργασίας Unpack/Firmware/Image. Αυτό γίνεται για να διατηρηθούν τα αρχικά αρχεία.

2.4.Μετά την αποσυναρμολόγηση της εικόνας, τα περιεχόμενά της θα τοποθετηθούν στο φάκελο Unpack, στον οποίο θα δημιουργηθεί η ακόλουθη δομή φακέλου:

Boot(Recovery)/cfg/
πυρήνας/
ramdisk/

Ο φάκελος cfg/ θα περιέχει τις ρυθμίσεις εικόνας, στον φάκελο του πυρήνα θα βρείτε τον πυρήνα, δηλ. δυαδικό αρχείο zImage και ο φάκελος ramdisk θα περιέχει όλα τα άλλα. Για τη συναρμολόγηση της εικόνας, τα συστατικά μέρη της, π.χ. Τοποθετήστε το ramdisk, τον πυρήνα και πιθανώς τις ρυθμίσεις στους κατάλληλους φακέλους στο Unpack. Η εικόνα που δημιουργήθηκε θα βρίσκεται στο φάκελο εξόδου Pack.

3. Περιγραφή του προϊόντος.

3.1. Κύριο μενού εντολών.

Το κύριο μενού των εντολών εργαλείου μοιάζει με αυτό:

**************************
* MTwinTools_V_0.6 *
**************************
*Εντολές εικόνας:*
* ————— *
*1-Μπότα*
*2-Ανάκτηση*
*3-Πυρήνα*
*4-Σύστημα*
*5-Άλλες εντολές*
* *
**************************
* Εντολές εργαλείων: *
* ————— *
*6-Εργαλεία Init*
*7-Καθαρό*
* *
**************************
*8-Έξοδος*
**************************
Επιλέξτε εντολή:

Μια εντολή επιλέγεται πληκτρολογώντας τον αριθμό που υποδεικνύεται μπροστά της. Στην τρέχουσα έκδοση μπορείτε να κάνετε τα εξής:

— μεταβείτε στο μενού "Εκκίνηση επεξεργασίας εικόνας" πληκτρολογώντας τον αριθμό "1".
— μεταβείτε στο μενού Επεξεργασία εικόνας ανάκτησης — "2";
— μεταβείτε στο μενού επεξεργασίας εικόνας πυρήνα — «3».
— μεταβείτε στο μενού Επεξεργασία εικόνας συστήματος — «4».
— μεταβείτε στο μενού άλλων εντολών — "5";
- αρχικοποιήστε την περιοχή εργασίας του εργαλείου - "6"
— καθαρίστε την περιοχή εργασίας του προϊόντος — «7»·
— ολοκληρώστε την εργασία, δηλ. έξοδος από την εγκατάσταση - "8".

3.2. Μενού εκκίνησης.

Για να προχωρήσετε στην επεξεργασία της εικόνας εκκίνησης, εκτελέστε την εντολή «1-Boot». Αυτό θα σας μεταφέρει στο μενού "Εντολές εκκίνησης".

Το μενού επεξεργασίας εικόνας εκκίνησης μοιάζει με αυτό:

**************************
* Εντολές εκκίνησης: *
* ————— *
*1-Αποσυσκευασία μπότας*
*2-πακέτο μπότας*
* *
**************************
*3-Επιστροφή*
**************************
Επιλέξτε εντολή:

Η εντολή «1» αποσυσκευάζει τις εικόνες εκκίνησης, η εντολή «2» συσκευάζει τις εικόνες εκκίνησης. Η εντολή «3» επιστρέφει στο κύριο μενού του εργαλείου.

2.2.1. Αποσυναρμολόγηση της εικόνας boot.img.

2.2.2. Δημιουργήστε την εικόνα boot.img.

Κατά τη δημιουργία της εικόνας εκκίνησης, θα εμφανιστεί ένα μενού για την επιλογή μιας πηγής δεδομένων.

**************************
* Επιλογή εικόνας πηγής: *
* 1. Αποσυσκευάστε σκην. *
* 2. Πακέτο σκηνοθεσία *
*3.Επιστροφή*
**************************
Επιλέξτε πηγή:

Έχετε την ευκαιρία να δημιουργήσετε μια εικόνα από μια αποσυσκευασμένη εικόνα που βρίσκεται στο φάκελο Unpack/Boot· για να το κάνετε αυτό, επιλέξτε το στοιχείο μενού «1. Ξεσυσκευάστε σκην.." Εάν επιλέξετε το στοιχείο μενού «2. Pack dir", τότε η εικόνα θα δημιουργηθεί από τα δεδομένα που βρίσκονται στο φάκελο Pack/boot. Για να ακυρώσετε τη λειτουργία, επιλέξτε το στοιχείο μενού «3. ΕΠΙΣΤΡΟΦΗ". Ταυτόχρονα εσύ
επιστρέψτε στο μενού "Εντολές εκκίνησης".

3.3. Μενού ανάκτησης.

Για να προχωρήσετε στην επεξεργασία της εικόνας Recovery, εκτελέστε την εντολή "2-Recovery". Αυτό θα σας μεταφέρει στο μενού "Εντολές ανάκτησης". Το μενού επεξεργασίας εικόνας ανάκτησης μοιάζει με αυτό:

**************************
* Εντολές ανάκτησης: *
* —————— *
* 1-Αποσυσκευασία ανάκτησης *
* 2-πακέτο ανάκτησης *
* *
**************************
*3-Επιστροφή*
**************************
Επιλέξτε εντολή:

Η εντολή "1" αποσυσκευάζει εικόνες ανάκτησης, η εντολή "2" πακέτα εικόνων ανάκτησης. Η εντολή «3» επιστρέφει στο κύριο μενού του εργαλείου.
2.3.1. Αποσυναρμολόγηση της εικόνας recovery.img.

Όλες οι ενέργειες εκτελούνται αυτόματα, π.χ. Χωρίς τη συμμετοχή σας δεν υπάρχει τίποτα να περιγράψω εδώ.

2.3.2. Δημιουργήστε την εικόνα του recovery.img.

Κατά τη δημιουργία της εικόνας ανάκτησης, θα εμφανιστεί ένα μενού για την επιλογή μιας πηγής δεδομένων.

**************************
* Επιλογή εικόνας πηγής: *
* 1. Αποσυσκευάστε σκην. *
* 2. Πακέτο σκηνοθεσία *
*3.Επιστροφή*
**************************
Επιλέξτε πηγή:

Έχετε την ευκαιρία να δημιουργήσετε μια εικόνα από μια αποσυσκευασμένη εικόνα που βρίσκεται στο φάκελο Αποσυσκευασία/ανάκτηση· για να το κάνετε αυτό, επιλέξτε το στοιχείο μενού «1. Ξεσυσκευάστε σκην.." Εάν επιλέξετε το στοιχείο μενού «2. Pack dir", τότε η εικόνα θα δημιουργηθεί από τα δεδομένα που βρίσκονται στο φάκελο Pack/recovery.

Για να ακυρώσετε τη λειτουργία, επιλέξτε το στοιχείο μενού «3. ΕΠΙΣΤΡΟΦΗ". Αυτό θα σας επιστρέψει στο μενού "Εντολές ανάκτησης".

3.4. Μενού πυρήνα.

Για να προχωρήσετε στην επεξεργασία της εικόνας του πυρήνα, εκτελέστε την εντολή "3-Kernel". Αυτό θα σας μεταφέρει στο μενού "Εντολές πυρήνα".

Το μενού επεξεργασίας εικόνας πυρήνα μοιάζει με αυτό:

**************************
* Εντολές πυρήνα: *
* —————— *
* 1-Αποσυσκευασία πυρήνα *
*Πακέτο 2 πυρήνων*
* *
**************************
*3-Επιστροφή*
**************************
Επιλέξτε εντολή:

Η εντολή "1" αποσυσκευάζει εικόνες πυρήνα, η εντολή "2" συσκευάζει εικόνες πυρήνα. Η εντολή «3» επιστρέφει στο κύριο μενού του εργαλείου.

3.4.1. Αποσυναρμολόγηση της εικόνας kernel.img.

Όλες οι ενέργειες εκτελούνται αυτόματα, π.χ. Χωρίς τη συμμετοχή σας δεν υπάρχει τίποτα να περιγράψω εδώ.

3.4.2. Δημιουργία της εικόνας του kernel.img.

Κατά τη δημιουργία της εικόνας του πυρήνα, θα εμφανιστεί ένα μενού για την επιλογή μιας πηγής δεδομένων.

**************************
* Επιλογή εικόνας πηγής: *
* 1. Αποσυσκευάστε σκην. *
* 2. Πακέτο σκηνοθεσία *
*3.Επιστροφή*
**************************
Επιλέξτε πηγή:

Έχετε την ευκαιρία να δημιουργήσετε μια εικόνα από μια αποσυσκευασμένη εικόνα που βρίσκεται στο φάκελο Unpack/Kernel· για να το κάνετε αυτό, επιλέξτε το στοιχείο μενού «1. Αποσυσκευάστε σκην.» Εάν επιλέξετε το στοιχείο μενού «2. Pack dir", τότε η εικόνα θα δημιουργηθεί από τα δεδομένα που βρίσκονται στο φάκελο Pack/Kernel.

Για να ακυρώσετε τη λειτουργία, επιλέξτε το στοιχείο μενού «3. ΕΠΙΣΤΡΟΦΗ". Αυτό θα σας επιστρέψει στο μενού "Εντολές πυρήνα".

3.5. Σύστημα μενού.

Για να προχωρήσετε στην επεξεργασία της εικόνας του συστήματος, εκτελέστε την εντολή «3-System». Αυτό θα σας μεταφέρει στο μενού "Εντολές συστήματος".

Το μενού επεξεργασίας εικόνας συστήματος μοιάζει με αυτό:


* Εντολές συστήματος: *
* ——————————————— *
* Γιαφ 1 συσκευασίας * Γιαφ 2 συσκευασιών *
* 3-αποσυσκευασία ext3 * 4-συσκευασία ext3 *
* 5-αποσυσκευασία ext4 * 6-συσκευασία ext4 *
* 7-αραιό έως ext4 * *
* * *
***************************************************
*8-Επιστροφή*
***************************************************
Επιλέξτε εντολή:

3.5.1. Αποσυναρμολόγηση μιας εικόνας συστήματος όπως τα yaffs.

Η εντολή "1" αποσυσκευάζει εικόνες συστήματος τύπου yaff στο φάκελο Unpack/System.

3.5.2. Δημιουργία μιας εικόνας συστήματος όπως τα yaffs.

Η εντολή "2" συσκευάζει εικόνες συστήματος τύπου yaffs. Θα εμφανιστεί ένα μενού για την επιλογή μιας πηγής δεδομένων.

**************************
* Επιλογή εικόνας πηγής: *
* 1. Αποσυσκευάστε σκην. *
* 2. Πακέτο σκηνοθεσία *
*3.Επιστροφή*
**************************
Επιλέξτε πηγή:

Έχετε την ευκαιρία να δημιουργήσετε μια εικόνα από μια μη συσκευασμένη εικόνα που βρίσκεται στο φάκελο Αποσυσκευασία/σύστημα· για να το κάνετε αυτό, επιλέξτε το στοιχείο μενού «1. Αποσυσκευάστε σκην.» Εάν επιλέξετε το στοιχείο μενού «2. Pack dir", τότε η εικόνα θα δημιουργηθεί από τα δεδομένα που βρίσκονται στο φάκελο Pack/system.

Για να ακυρώσετε τη λειτουργία, επιλέξτε το στοιχείο μενού «3. Return” και θα επιστρέψετε στο προηγούμενο μενού “System commands”.

3.5.3. Αποσυναρμολόγηση της εικόνας συστήματος τύπου ext3.

Η εντολή "3" αποσυσκευάζει εικόνες συστήματος τύπου ext2-ext3 στο φάκελο Unpack/System.

3.5.4. Δημιουργία εικόνας συστήματος τύπου ext3.

Η εντολή "4" δημιουργεί την εικόνα συστήματος τύπου ext2-ext3. Η συσκευασία πραγματοποιείται παρόμοια με την ενότητα 3.5.2. μόνο η εικόνα εξόδου θα είναι τύπου ext3.

3.5.5. Αποσυναρμολόγηση της εικόνας συστήματος τύπου ext4.

Η εντολή "5" αποσυσκευάζει τις εικόνες συστήματος ext4 στο φάκελο Unpack/System.

3.5.6. Δημιουργία εικόνας συστήματος τύπου ext4.

Η εντολή "6" δημιουργεί την εικόνα συστήματος τύπου ext4. Η συσκευασία πραγματοποιείται παρόμοια με την ενότητα 3.5.2. μόνο η εικόνα εξόδου θα είναι τύπου ext4.

3.5.7. Μετατροπή αραιής συμπιεσμένης εικόνας σε ext4.

Η εντολή «7» μετατρέπει (μετατρέπει ή διακωδικοποιεί) συμπιεσμένες εικόνες αραιού τύπου σε εικόνες τύπου ext4 (ανάλογα με τη λειτουργία simg2img).

3.5.8.Επιστροφή στο κύριο μενού.

Η εντολή "8" επιστρέφει στο κύριο μενού του εργαλείου.

3.6. Μενού άλλων εντολών.

Για να προχωρήσετε στην εκτέλεση άλλων εντολών, εκτελέστε την εντολή «5-Άλλες εντολές». Αυτό θα σας μεταφέρει στο μενού "Άλλες εντολές". Το μενού για την εκτέλεση άλλων εντολών μοιάζει με αυτό:

**************************
* Άλλες εντολές: *
* —————- *
*1-Init SuperUser*
* 2-Υπολογισμός md5 *
* *
**************************
*3-Επιστροφή*
**************************
Επιλέξτε εντολή:

Η εντολή "1" προετοιμάζει τον SuperUser στην εικόνα του συστήματος, η εντολή "2" υπολογίζει το άθροισμα ελέγχου του αρχείου. Η εντολή «3» επιστρέφει στο κύριο μενού του εργαλείου.

3.6.1. Εκκίνηση του SuperUser.

Κατά την προετοιμασία του SuperUser, θα εμφανιστεί ένα μενού επιλογής πηγής:

**************************
* Πηγή επιλογής init: *
* 1. Αποσυσκευάστε σκην. *
* 2. Πακέτο σκηνοθεσία *
*3.Επιστροφή*
**************************
Επιλέξτε πηγή:

Έχετε την ευκαιρία να αρχικοποιήσετε την αποσυσκευασμένη εικόνα που βρίσκεται στο φάκελο Αποσυσκευασία/σύστημα· για να το κάνετε αυτό, επιλέξτε το στοιχείο μενού «1. Αποσυσκευάστε σκην.» Εάν επιλέξετε το στοιχείο μενού «2. Pack dir", τότε θα αρχικοποιηθεί η εικόνα που βρίσκεται στο φάκελο Pack/system. Για να ακυρώσετε τη λειτουργία, επιλέξτε το στοιχείο μενού «3. ΕΠΙΣΤΡΟΦΗ".
Η αρχικοποίηση γίνεται με αντιγραφή απαραίτητα αρχεία(su και SuperSU.apk) στην αποσυναρμολογημένη εικόνα System.img. Για να αποκτήσετε πρόσβαση Root χρειάζεστε:

— αποσυσκευάστε την εικόνα συστήματος χρησιμοποιώντας την εντολή «3» του κύριου μενού
εργαλεία ή τοποθετήστε την αποσυσκευασμένη εικόνα στο φάκελο Unpack (ή Pack)/System/.
— εκτελέστε την εντολή "1-init SuperUser" στο μενού "Others commands".

Αφού αναβοσβήσετε την εικόνα System.img, θα έχετε πρόσβαση Root στη συσκευή σας. Εάν χρησιμοποιούνται αρχεία διαφορετικής έκδοσης για να αποκτήσετε πρόσβαση Root στη συσκευή σας, τότε απλώς πρέπει να ενημερώσετε (αντικαταστήσετε) τα αρχεία su και SuperSU.apk στο φάκελο App/.

3.6.2. Υπολογισμός αθροίσματος ελέγχου.

Για να υπολογίσετε το άθροισμα ελέγχου ενός αρχείου ή αρχείων, τοποθετήστε τα στο φάκελο Pack/md5/. Μετά την εκτέλεση της εντολής «2-Υπολογισμός md5», θα προστεθούν όλα τα αρχεία που βρίσκονται στο φάκελο Pack/md5 άθροισμα ελέγχου, που υπολογίζεται χρησιμοποιώντας τον αλγόριθμο md5. Επεξεργάζονται μόνο αρχεία χωρίς επέκταση ή με επέκταση .img, .tar, .zip.

3.7. Αρχικοποίηση.

Για να εκτελέσετε την προετοιμασία, εκτελέστε την εντολή «6-init Tools». Αυτό θα δημιουργήσει όλες τις απαραίτητες δομές φακέλων για να λειτουργήσει το MTwinTools και θα αντιγράψει τις εικόνες εισόδου στον φάκελο εργασίας Unpack/Firmware/Image.

3.8. Καθαρισμός του προϊόντος.

Για να καθαρίσετε την περιοχή εργασίας, πληκτρολογήστε "7-CLEAN". Σε αυτήν την περίπτωση, ΟΛΟΙ οι επιπλέον φάκελοι μαζί με το περιεχόμενό τους θα διαγραφούν, το MTwinTools θα ολοκληρώσει την εργασία του και θα λάβει τη μορφή που είχε αμέσως μετά την εγκατάσταση.

3.9. Εξοδος.

Για έξοδο, πληκτρολογήστε "8-Exit". Σε αυτή την περίπτωση, ΜΟΝΟ το προϊόν θα βγει χωρίς κανένα καθάρισμα.

Παρεμβολή, παρεμβολή- στα υπολογιστικά μαθηματικά, μια μέθοδος εύρεσης ενδιάμεσων τιμών μιας ποσότητας από ένα υπάρχον διακριτό σύνολο γνωστών τιμών.

Πολλοί από αυτούς που ασχολούνται με επιστημονικούς και μηχανικούς υπολογισμούς πρέπει συχνά να λειτουργούν με σύνολα τιμών που λαμβάνονται εμπειρικά ή με τυχαία δειγματοληψία. Κατά κανόνα, με βάση αυτά τα σύνολα, είναι απαραίτητο να κατασκευαστεί μια συνάρτηση στην οποία άλλες λαμβανόμενες τιμές θα μπορούσαν να πέσουν με υψηλή ακρίβεια. Αυτή η εργασία ονομάζεται προσέγγιση. Η παρεμβολή είναι ένας τύπος προσέγγισης στον οποίο η καμπύλη της κατασκευασμένης συνάρτησης διέρχεται ακριβώς από τα διαθέσιμα σημεία δεδομένων.

Υπάρχουν πολλές μέθοδοι παρεμβολής πεπερασμένων διαφορών. Πλέον
Η μέθοδος του Newton για εμπρόσθια παρεμβολή (μέθοδος Newton-Gregory) είναι κοινή. Το πολυώνυμο παρεμβολής σε αυτή την περίπτωση έχει τη μορφή:

Βρίσκουμε τους συντελεστές C χρησιμοποιώντας τον τύπο:

Υλοποίηση του προγράμματος σε C#:
χρησιμοποιώντας το σύστημα. Παρεμβολή χώρου ονομάτων ( Πρόγραμμα κλάσης…

Οπτικοποίηση αλγορίθμων ταξινόμησης

Το πρόγραμμα χωρίζεται σε δύο νήματα στο ένα εκ των οποίων εκτελείται ταξινόμηση και στο άλλο επανασχεδιασμό GUI. Αφού κάνετε κλικ στο κουμπί «Ταξινόμηση», το πρόγραμμα καλεί τη μέθοδο «RunSorting», στην οποία ορίζεται ο αλγόριθμος ταξινόμησης και δημιουργείται ένα νέο νήμα με τη διαδικασία ταξινόμησης να εκτελείται σε αυτό.
ιδιωτικό κενό RunSo…

Kacher Brovina στο KT819G

Σήμερα θέλω να δείξω την Kacher μου, την οποία έκανα τις περασμένες χειμερινές διακοπές. Δεν θα περιγράψω ολόκληρη τη διαδικασία παραγωγής, καθώς υπάρχουν πολλά άρθρα στο Διαδίκτυο. Θα γράψω μόνο για τις κύριες παραμέτρους του.

Ακολουθούν μερικές φωτογραφίες που τραβήχτηκαν κατά τη συναρμολόγηση της συσκευής.

Το πηνίο τυλίγεται με περίπου 2000 στροφές σύρματος 0,08 mm σε σωλήνα PVC με διάμετρο 50 mm και ύψος 200 mm.

Ως τερματικό χρησιμοποιήθηκε ένα πιάτο από ένα παλιό. σκληρός δίσκος. Όλα τα άλλα συναρμολογήθηκαν σύμφωνα με το διάγραμμα που βρίσκεται στο κάτω μέρος της σελίδας.

Η πρώτη επιλογή τροφοδοτήθηκε από το τροφοδοτικό ενός παλιού υπολογιστή, με τάση 12 V. Στη συνέχεια έγινε ξεχωριστή παροχή ρεύματος, με τάση 30 V και με ενσωματωμένη ψύξη.

Διάγραμμα συσκευής:

Τι είναι το CORS και πώς να το χρησιμοποιήσετε

Η κοινή χρήση πόρων μεταξύ τομέων (CORS) είναι μια προδιαγραφή του W3C που επιτρέπει την επικοινωνία μεταξύ τομέων στο πρόγραμμα περιήγησης. Χτίζοντας πάνω από το αντικείμενο XMLHttpRequest, το CORS επιτρέπει στους προγραμματιστές να εργάζονται με τους ίδιους ιδιωματισμούς με αιτήματα με τον ίδιο τομέα. Η θήκη χρήσης του CORS είναι απλή. Φανταστείτε ότι το alice.com έχει κάποια δεδομένα που θέλει να αποκτήσει το bob.com. Αυτός ο τύπος αιτήματος παραδοσιακά δεν επιτρέπεται σύμφωνα με την ίδια πολιτική προέλευσης του προγράμματος περιήγησης. Ωστόσο, υποστηρίζοντας αιτήματα CORS, το alice.com μπορεί να προσθέσει ορισμένες ειδικές κεφαλίδες απόκρισης που επιτρέπουν στο bob.com να έχει πρόσβαση στα δεδομένα. Όπως μπορείτε να δείτε από αυτό το παράδειγμα, η υποστήριξη CORS απαιτεί συντονισμό μεταξύ διακομιστή και πελάτη. Ευτυχώς, εάν είστε προγραμματιστής από την πλευρά του πελάτη, προστατεύεστε από τις περισσότερες από αυτές τις λεπτομέρειες. Το υπόλοιπο αυτού του άρθρου δείχνει πώς οι πελάτες μπορούν να εκτελούν αιτήματα πολλαπλής προέλευσης και πώς οι διακομιστές μπορούν να διαμορφωθούν για να υποστηρίζουν CORS. Συνεχίζεται…

Σχεδόν όλοι χρήστη android smartphone, υπήρχε η επιθυμία να δημιουργήσετε ή να επεξεργαστείτε το υλικολογισμικό για να ταιριάζει στις ανάγκες και τις επιθυμίες σας. Σε αυτό το άρθρο θα εξετάσουμε την αρχή της επεξεργασίας υλικολογισμικού για CWM (σε μορφή zip).

Παρασκευή:

Πρώτα απ 'όλα, πρέπει να αποφασίσουμε ποιο υλικολογισμικό θα χρησιμοποιήσουμε ως βάση. Είναι καλύτερα να το χρησιμοποιήσετε. firmware σε zip. Για σχεδόν κάθε κοινή συσκευή υπάρχει ένα καθαρό υλικολογισμικό + root.
Όταν είναι επιλεγμένο το υλικολογισμικό, πρέπει να γίνει λήψη του σε οποιαδήποτε τοποθεσία είναι κατάλληλη για εσάς στον υπολογιστή σας (δεν χρειάζεται να το αποσυσκευάσετε).
Θα χρειαστούμε επίσης έναν αρχειοθέτη, προτείνω να το χρησιμοποιήσετε 7 zipκαι το καλύτερο στο είδος του επεξεργαστής κειμένου Σημειωματάριο ++.

Δομή υλικολογισμικού:

Ανοίγοντας το αρχείο με το υλικολογισμικό, βλέπετε τα εξής:
META-INF- Ο φάκελος περιέχει σενάρια εγκατάστασης υλικολογισμικού.
Σύστημα- ένας φάκελος με όλα τα αρχεία υλικολογισμικού (εφαρμογές, τροποποιήσεις, σενάρια κ.λπ.).
boot.img- τον πυρήνα του συστήματος.

Σχεδόν όλοι οι χειρισμοί πραγματοποιούνται στο φάκελο Σύστημα, η δομή του:
εφαρμογή- εφαρμογές συστήματος.
αποθήκη- πόρους του ίδιου του συστήματος.
και τα λοιπά- Σενάρια, τροποποιήσεις, ρυθμίσεις παραμέτρων, προφίλ και ρυθμίσεις συστήματος.
γραμματοσειρές- Γραμματοσειρές συστήματος.
δομή- τα κύρια αρχεία συστήματος αποθηκεύονται εδώ (γραφικά, ρυθμίσεις κειμένου κινούμενων εικόνων κ.λπ.).
lib- βιβλιοθήκες συστήματος.
μεσο ΜΑΖΙΚΗΣ ΕΝΗΜΕΡΩΣΗΣ- αρχεία πολυμέσων (ήχοι κλήσης ειδοποιήσεων, φόρτωση κινούμενων εικόνων, ταπετσαρία κ.λπ.).
usr- ρυθμίσεις που δεν μπορούν να αλλάξουν στο μέλλον από το σύστημα (λειτουργούν σε λειτουργία μόνο για ανάγνωση).
xbin- πάλι, ρυθμίσεις παραμέτρων συστήματος και άλλες τροποποιήσεις.
χτίζω.στήριγμα- πληροφορίες σχετικά με το σύστημα, τις τοπικές ρυθμίσεις και την απόδοση του συστήματος.

Εφαρμογές:

Πριν προσθέσετε/αφαιρέσετε λογισμικό στο σύστημα, πρέπει να ελέγξετε εάν το υλικολογισμικό σας έχει αφαιρεθεί (δηλαδή, ελέγξτε για την παρουσία αρχείων .odex στο φάκελο της εφαρμογής. Εάν υπάρχουν αρχεία, τότε πρέπει να τα ξεφορτωθείτε χρησιμοποιώντας αυτό οδηγίες .
Προσθήκη λογισμικού στο υλικολογισμικό:
Πρώτα απ 'όλα, πρέπει να εγκαταστήσετε στο smart σας εκείνα τα προγράμματα που θέλετε να προσθέσετε στη συναρμολόγηση. Μετά την εγκατάσταση, τα αφαιρούμε από το σύστημα χρησιμοποιώντας Root Explorerκαι τα ανάλογά του, βρίσκονται στη διαδρομή δεδομένων/εφαρμογής, χρειαζόμαστε και τα lib τους (αν υπάρχουν φυσικά), βρίσκονται στη διαδρομή δεδομένων/δεδομένων. Βρίσκονται στον ομώνυμο φάκελο στην εφαρμογή και έχουν την επέκταση .Έτσι. Στη συνέχεια κατασχέθηκαν .apkτοποθετήστε τα αρχεία στο αρχείο κατά μήκος του συστήματος/εφαρμογής διαδρομής και τα αρχεία με την επέκταση .Έτσι(libs) κατά μήκος του συστήματος διαδρομής/lib .
Αφαιρούμε το λογισμικό από το υλικολογισμικό:
Όλα είναι απλά εδώ, μεταβείτε στον φάκελο εφαρμογή- αποφασίζουμε τι δεν χρειαζόμαστε και αφαιρούμε όλο το περιττό λογισμικό (καλύτερα να μην αγγίξουμε το σύστημα).

Έκδοση γλώσσας και υλικολογισμικού:

Αντιγράψτε το αρχείο build.prop στην επιφάνεια εργασίας σας. Ανοίξτε το με το σημειωματάριο και βρείτε τις γραμμές:

ro.product.locale.language=en
ro.product.locale.region=ΗΠΑ

για τη ρωσική γλώσσα πρέπει να κάνετε αυτό:

ro.product.locale.language=en
ro.product.locale.region=RU

εισάγετε το όνομα του mod σας στη γραμμή

στην ίδια κατασκευή.προπ

ΓΡΑΦΙΚΕΣ ΤΕΧΝΕΣ:

Ολόκληρο το γραφικό μέρος του υλικολογισμικού αποθηκεύεται σε δύο αρχεία διαδρομής αρχείου framework-res.apk πλαίσιο συστήματοςκαι SystemUI.apk στην πορεία systemapp. Και το γραφικό μέρος της εφαρμογής ρυθμίσεων αποθηκεύεται φυσικά στην εφαρμογή Settings.apk.

Σενάρια και τροποποιήσεις (επιτάχυνση και βελτιστοποίηση συστήματος):

Οι περισσότερες ρυθμίσεις γίνονται στο αρχείο χτίζω.στήριγμα, μπορείτε να διαβάσετε για αυτό. Επίσης, αν ο πυρήνας σας υποστηρίζει init.dυπάρχουν πολλά σενάρια για τη βελτιστοποίηση του συστήματος, ένα από αυτά περιγράφεται σε αυτό το άρθρο (Βελτιστοποίηση RAM)και σε αυτό το άρθρο Τροποποιήστε τα σενάρια για το init.d

Αντικατάσταση γραμματοσειρών συστήματος:

Όπως αναφέρθηκε παραπάνω, όλες οι γραμματοσειρές περιέχονται στο φάκελο γραμματοσειρές, οι κύριες γραμματοσειρές είναι: DroidSans.ttf και DroidSans-Bold.ttf μπορούν να αντικατασταθούν με οποιαδήποτε γραμματοσειρά, μετονομάζοντάς τες παρόμοια με τις παραπάνω και μετακινώντας με αντικατάσταση στο αρχείο με το υλικολογισμικό στον φάκελο γραμματοσειρές.

Πυρήνας:

Θεωρητικά, αρκεί να αντικατασταθεί boot.imgτο δικό του, αλλά σε ορισμένες περιπτώσεις τα Cores συνοδεύονται από πρόσθετα σενάρια. Επομένως, σας συμβουλεύω να μην κάνετε τίποτα εάν έχετε αμφιβολίες.



Ας ξεκινήσουμε με το γεγονός ότι χρειάζεστε Linux. Στα Windows, μπορείτε μόνο να αποσυναρμολογήσετε το υλικολογισμικό, αλλά δεν θα μπορείτε να το συναρμολογήσετε ξανά για καθαρά τεχνικούς λόγους. Τώρα για το υλικολογισμικό. Συνήθως διανέμονται με τη μορφή αρχείων ZIP που αναβοσβήνουν μέσω προσαρμοσμένης ανάκτησης. Είναι ένα από αυτά που θα χρειαστούμε για πειράματα. Συνιστώ να ξεκινήσετε το μονοπάτι ενός μοντέλου με κάτι όσο το δυνατόν πιο κοντά στο AOSP προσαρμοσμένο υλικολογισμικό, γιατί συχνά είναι πιο κατανοητό από το απόθεμα.

  1. Αποσυσκευάστε το αρχείο με το υλικολογισμικό σε οποιονδήποτε φάκελο.
  2. Κατεβάστε το σενάριο από τον σύνδεσμο και αποσυμπιέστε το σε οποιονδήποτε φάκελο.
  3. Εκκινούμε το αρχείο ext (αν παραπονιέται για έλλειψη Java, απλώς παραλείψτε το πατώντας y. Η Java χρειάζεται μόνο για συσκευασία).
  4. Τώρα επιλέξτε την αποσυσκευασία πατώντας το κουμπί 1 και μετά Enter.
  5. Ένας νέος φάκελος με το όνομα extract_* θα εμφανιστεί δίπλα στο αρχείο ext και στο φάκελο εργαλείων. Αντιγράψτε τα αρχεία system.new.dat και system.transfer.list σε αυτό.
  6. Αφού αντιγράψετε τα αρχεία, πατήστε Enter και περιμένετε. Μετά από λίγο, θα χρειαστεί να πατήσετε ξανά Enter, να εισαγάγετε τον κωδικό πρόσβασης διαχειριστή και να πατήσετε ξανά Enter.
  7. Ετοιμος. Τα περιεχόμενα του συστήματος βρίσκονται στο φάκελο extract_*/output.

Χειροκίνητη μέθοδος

Αποσυσκευάστε το αρχείο με το υλικολογισμικό σε οποιονδήποτε φάκελο (για παράδειγμα, rom):

$ mkdir ~/rom $ unzip path_to_archive -d ~/rom/

Κατεβάστε τα εργαλεία που χρειαζόμαστε σε αυτόν τον φάκελο:

$ cd ~/rom $ wget https://github.com/xpirt/sdat2img/raw/master/sdat2img.py

Ας τρέξουμε το σενάριο:

$ chmod +x sdat2img.py $ ./sdat2img.py system.transfer.list system.new.dat system.img

Μετατρέπει το αρχείο system.new.dat σε μια ακατέργαστη εικόνα που ονομάζεται system.img. Προσαρτήστε την εικόνα στον υποφάκελο mnt:

$ mkdir mnt $ sudo mount -t ext4 -o loop system.img ~/rom/mnt

Δομή καταλόγου Android

Μετά την αποσυσκευασία του συστήματος, θα εμφανιστεί η ακόλουθη δομή καταλόγου:

  • εφαρμογή - προεγκατεστημένες εφαρμογέςμε τυπικά προνόμια?
  • priv-app- προεγκατεστημένες εφαρμογές με αυξημένα προνόμια, συμπεριλαμβανομένων ορισμένων στοιχείων συστήματος.
  • αποθήκη- δυαδικά αρχεία σε μορφή ELF, ένα ανάλογο των καταλόγων /bin και /usr/bin στο Linux. Περιέχει διάφορα στοιχεία συστήματος που χρησιμοποιούνται από εξαρτήματα συστήματος υψηλότερου επιπέδου.
  • και τα λοιπά- αρχεία ρυθμίσεων. Ένα πλήρες ανάλογο του /etc στο Linux, που χρησιμοποιείται, ωστόσο, μόνο από τα ίδια στοιχεία του συστήματος. Εφαρμογές Androidκατάστημα μεμονωμένες ρυθμίσειςστους καταλόγους /data/data/.
  • γραμματοσειρές- γραμματοσειρές. Από προεπιλογή, περιέχει μόνο γραμματοσειρές με επωνυμία Roboto.
  • δομή- βιβλιοθήκες κλάσεων Java που χρησιμοποιούνται από το σύστημα και τις εφαρμογές. Υπάρχει επίσης ένα αρχείο Framework-res.apk που περιέχει μια πλήρη περιγραφή της διεπαφής λειτουργικό σύστημα, συμπεριλαμβανομένων όλων των αρχείων γραφικών.
  • libΚαι lib64- Βιβλιοθήκες Linux που χρησιμοποιούνται από στοιχεία συστήματος χαμηλού επιπέδου. Ανάλογο των καταλόγων /lib και /usr/lib στο Linux, συμπεριλαμβανομένων των παρακάτω τυπικές βιβλιοθήκες, όπως libc, libz, libssl. Σε συσκευές με αρχιτεκτονική ARMv7 και χαμηλότερη, ο κατάλογος lib64 θα λείπει.
  • μεσο ΜΑΖΙΚΗΣ ΕΝΗΜΕΡΩΣΗΣ- Αρχεία πολυμέσων: ήχοι κλήσης, ήχοι ειδοποιήσεων, ήχοι διεπαφής και κινούμενα σχέδια φόρτωσης λειτουργικού συστήματος.
  • tts- αρχεία που χρειάζονται ο συνθέτης ομιλίας.
  • usr- ένας κατάλογος που συνήθως περιέχει αρχεία απαραίτητα για την εκτέλεση εφαρμογών από τον κατάλογο bin. Ουσιαστικά ένα ανάλογο του /usr/share ;
  • Προμηθευτή- αρχεία που παρέχονται από τον κατασκευαστή της συσκευής. Συνήθως περιέχει δυαδικό υλικολογισμικό για διάφορα στοιχεία υλικού, για παράδειγμα μια μονάδα Wi-Fi.
  • xbin- προαιρετικός κατάλογος. προσαρμοσμένα υλικολογισμικά το χρησιμοποιούν για να αποθηκεύουν πράγματα όπως τον διερμηνέα bash, το SSH, το PowerTOP, το BusyBox και άλλα χρήσιμα εργαλεία.
  • χτίζω.στήριγμα- ένα αρχείο που περιέχει πληροφορίες σχετικά με τη συναρμολόγηση, καθώς και διάφορες ρυθμίσεις χαμηλού επιπέδου.
  • addon.d- περιέχει σενάρια που εκκινούνται μετά την εγκατάσταση του υλικολογισμικού. Τα GApps γράφουν επίσης το σενάριό τους εδώ, χάρη στο οποίο αναβιώνουν μετά την επανεγκατάσταση του υλικολογισμικού.

Τώρα που εξοικειωθήκαμε με τη βασική δομή του Android, ας αρχίσουμε να κάνουμε αλλαγές.

Αφαίρεση και προσθήκη εφαρμογών

Ολα προεγκατεστημένα προγράμματαμπορεί να βρεθεί σε δύο φακέλους:

  • /system/app/;
  • /system/priv-app/.

Διαφέρουν μεταξύ τους ως προς τα δικαιώματα πρόσβασης. Εάν τα προγράμματα από την εφαρμογή έχουν τα ίδια δικαιώματα με προγράμματα τρίτων(για παράδειγμα, εγκατεστημένο από το Play Store), στη συνέχεια, οι εφαρμογές από την εφαρμογή priv-app μπορούν να χρησιμοποιούν προνομιακά API (προνομιακά δικαιώματα). Μπορείτε να μάθετε περισσότερα για αυτό από.

Για να προεγκαταστήσετε μια εφαρμογή στο υλικολογισμικό, απλώς αποθέστε το αρχείο APK στο /system/app/. Μπορείτε, φυσικά, να δημιουργήσετε έναν ξεχωριστό φάκελο, αλλά στην περίπτωσή μας αυτό δεν έχει νόημα, επειδή ο φάκελος χρησιμοποιείται για την αποθήκευση βιβλιοθηκών και αρχείων odex, τα οποία απλά δεν έχουμε. Για να το αφαιρέσετε, απλώς διαγράψτε το φάκελο μαζί του.

Μπορείτε να προχωρήσετε περαιτέρω και να αντικαταστήσετε τις εφαρμογές στοκ με αναλογικές. Για παράδειγμα, για να αντικαταστήσετε το ημερολόγιο, διαγράψτε το φάκελο Ημερολόγιοκαι αντιγράψτε το αγαπημένο μας com.rpagyc.simplecalendar.apk στο /system/app. Και δεν χρειάζεται να το αντιγράψετε. Τότε το υλικολογισμικό θα είναι χωρίς ημερολόγιο.

Το κύριο πράγμα που πρέπει να θυμάστε είναι ότι τα προγράμματα μετοχών μπορούν να σχετίζονται μεταξύ τους. Επομένως, η διαγραφή ενός προγράμματος μπορεί κάλλιστα να οδηγήσει στην πλήρη αδυναμία λειτουργίας ενός άλλου (για παράδειγμα, CalendarProvider και Calendar: διαγράφοντας το πρώτο, θα καταστήσετε μη λειτουργικό όχι μόνο το απόθεμα ημερολόγιο, αλλά και οποιοδήποτε άλλο ημερολόγιο). Ευτυχώς, στο καθαρό firmware AOSP δεν υπάρχουν πολλές διασυνδέσεις.

Αλλαγή της κίνησης φόρτωσης

Η κινούμενη εικόνα αποθηκεύεται ως εικόνες PNG, συσκευασμένες στο αρχείο /system/media/bootanimation.zip χωρίς συμπίεση. Μέσα στο αρχείο υπάρχουν:

  • desc.txt- ένα αρχείο που περιγράφει την κινούμενη εικόνα.
  • μέρος 0- ένας φάκελος με αρχεία κινούμενων εικόνων που αναπαράγονται πρώτα.
  • μέρος 1- ένας φάκελος με αρχεία κινούμενων εικόνων που αναπαράγονται δεύτερο.
  • μέρος?- ο τελευταίος φάκελος, οι εικόνες από τον οποίο αναπαράγονται στο τέλος.

Το αρχείο desc.txt μπορεί να περιέχει κάτι παρόμοιο

1920 1080 60 p 1 0 part0 p 0 0 part1

Ο σκοπός αυτών των γραμμών είναι διαισθητικός: 1920 × 1080 είναι η ανάλυση εικόνας, 60 είναι ο αριθμός των καρέ ανά δευτερόλεπτο. Το Part0 και το Part1 υποδεικνύουν τους φακέλους από τους οποίους θα αναπαραχθεί το κινούμενο σχέδιο και τη σειρά αναπαραγωγής. Γενικά, μπορεί να υπάρχουν είτε ένα μέρος είτε πολλά (τρία ή περισσότερα).

Οι εικόνες που βρίσκονται στους φακέλους των ανταλλακτικών αριθμούνται με πέντε αριθμούς με σειρά αναπαραγωγής: 00000.png, 00001.png, 00002.png... Αυτές οι εικόνες μπορούν να αντικατασταθούν με τις δικές σας, δημιουργώντας έτσι μια πρωτότυπη κινούμενη εικόνα. Ή μπορείτε απλά να διαγράψετε το αρχείο bootanimation.zip. Στη συνέχεια, η συσκευή θα εμφανίσει κινούμενα σχέδια από τυπικό Android. Ή χρησιμοποιήστε μια έτοιμη συλλογή κινούμενων εικόνων στο w3bsit3-dns.com.

Αλλαγή σχεδίασης ήχου

Στην πραγματικότητα, όλοι οι ήχοι που αναπαράγει το σύστημα αποθηκεύονται στο φάκελο /system/media/audio. Μέσα σε αυτό θα βρείτε τους παρακάτω φακέλους:

  • συναγερμός- μελωδίες ξυπνητηριού
  • ειδοποιήσεις- ήχοι ειδοποίησης.
  • κουδούνισματα τηλεφώνου- κουδούνισματα τηλεφώνου;
  • UI- ήχοι συστήματος, όπως χαμηλή μπαταρία, εστίαση κάμερας, επιλογή στοιχείων διεπαφής.

Σε ξυπνητήρια, ειδοποιήσεις, ήχους κλήσης μπορείτε να προσθέσετε όσες μελωδίες θέλετε. Μπορείτε να τα πάρετε, για παράδειγμα, εδώ:

  • τυπικοί ήχοι κλήσης από διαφορετικά τηλέφωνα και smartphone της Nokia.

Και ένα μικρό life hack: η διαγραφή αρχείων από το φάκελο UI δεν θα οδηγήσει σε σφάλματα και σφάλματα, αλλά στην εξαφάνιση των ήχων του συστήματος. Επομένως, μπορείτε εύκολα να απενεργοποιήσετε τον ήχο λήψης φωτογραφίας από την κάμερα, λήψης στιγμιότυπου οθόνης, απλώς διαγράφοντας τα αρχεία που περιέχουν αυτούς τους ήχους (τα ονόματά τους είναι διαισθητικά).

Προσθήκη γραμματοσειρών

Οι γραμματοσειρές αποθηκεύονται σε γραμματοσειρές. Μπορείτε να βρείτε αρχεία με αρχεία γραμματοσειρών στο w3bsit3-dns.com και στο XDA. Για εγκατάσταση, απλώς αντιγράψτε και αντικαταστήστε τα αρχεία ttf από το αρχείο στο φάκελο γραμματοσειρών.

Αλλαγή ρυθμίσεων συστήματος (build.prop)

Η εικόνα συστήματος περιέχει ένα ενδιαφέρον αρχείο build.prop που περιέχει πολλές χρήσιμες πληροφορίες σχετικά με το υλικό της συσκευής και τις προεπιλεγμένες ρυθμίσεις για διάφορες εφαρμογές στοκ. Για να είμαι δίκαιος, σημειώνω ότι αυτό δεν συμβαίνει πάντα. Για παράδειγμα, στο Gigaset ME και ME Pro το build.prop χωρίζεται σε δύο μέρη. Το ένα μέρος περιέχει ρυθμίσεις για το Gigaset ME και για το ME Pro ορισμένες γραμμές είναι διπλές, αλλά τα πλήκτρα (όνομα smartphone, κ.λπ.) είναι διαφορετικά. Αυτό έγινε για να διασφαλιστεί η περισσότερο ή λιγότερο σωστή λειτουργία του ίδιου υλικολογισμικού σε διαφορετικές συσκευές.


Το Build.prop περιέχει (ή μπορεί να περιέχει) έναν τεράστιο αριθμό ρυθμίσεων. Μερικά από αυτά δεν αλλάζουν τίποτα, μερικά βελτιώνουν το ένα πράγμα σε βάρος του άλλου, αλλά υπάρχουν εκείνα που είναι πραγματικά χρήσιμα:

  • ro.προϊόν.μοντέλοΚαι ro.προϊόν.κατασκευαστής- μοντέλο smartphone και όνομα κατασκευαστή. Αντικαθιστώντας αυτές τις γραμμές, μπορείτε να κάνετε το Play Store να πιστεύει ότι έχετε διαφορετικό smartphone, το οποίο θα ανοίξει πρόσβαση σε περισσότερο λογισμικό. Για όλους τους ελάχιστα γνωστούς Κινέζικα smartphonesΑυτές οι γραμμές μπορούν να γίνουν σωτήριες.
  • hw.qemu.mainkeys- παίρνει μόνο δύο τιμές: 0 - εμφάνιση πλήκτρων πλοήγησης στην οθόνη, 1 - μη εμφάνιση κουμπιών. Η απουσία γραμμής αντιστοιχεί στο 0.
  • debug.sf.nobootanimation- Η τιμή 1 απενεργοποιεί τη φόρτωση κινούμενων εικόνων, γεγονός που αυξάνει ελαφρώς την ταχύτητά της. Η ρύθμιση του στο 0 ή η διαγραφή της γραμμής επιστρέφει το κινούμενο σχέδιο στη θέση του.
  • ro.telephony.default_network- λέει στο σύστημα σε ποια λειτουργία πρέπει να αλλάξει δίκτυο κινητής τηλεφωνίαςκατά τη φόρτωση?
  • ro.sf.lcd_density- Εμφάνιση DPI, η πιο ακριβής τιμή για την οθόνη μπορεί να υπολογιστεί μέσω ενός βολικού ιστότοπου. Αλλά κανείς δεν απαγορεύει να ορίσετε μια υψηλότερη ή χαμηλότερη τιμή σύμφωνα με τις προτιμήσεις σας: οι υψηλότερες τιμές κάνουν τα στοιχεία διεπαφής μεγαλύτερα, οι χαμηλότερες τιμές κάνουν τα στοιχεία διεπαφής μικρότερα.
  • ro.config.vc_call_vol_steps- αριθμός βημάτων έντασης ήχου κατά τη διάρκεια μιας κλήσης (προεπιλογή 8).
  • ro.config.media_vol_steps- αριθμός βημάτων έντασης μέσων (προεπιλογή 15).

Εφαρμόζουμε το Google Apps στο υλικολογισμικό

Σχεδόν πάντα το προσαρμοσμένο υλικολογισμικό παρέχεται χωρίς υπηρεσίες Googleκαι κατάστημα εφαρμογών. Οι προγραμματιστές προτείνουν να τα εγκαταστήσουμε ξεχωριστά χρησιμοποιώντας το πακέτο GApps. Ωστόσο, μπορεί να ενσωματωθεί απευθείας στο υλικολογισμικό.

Πρώτα πρέπει να κατεβάσετε το πακέτο GApps. Συνιστώ να πάρετε τα αρχεία Open GApps. Εσύ διαλέγεις έκδοση Android, αρχιτεκτονική επεξεργαστή και επιλογή διαμόρφωσης (Pico, Nano, Stock...), που καθορίζει πόσα διαφορετικά Εφαρμογές Googleπεριέχει ένα αρχείο. Συνιστώ να κατεβάσετε την έκδοση Pico. Περιέχει μόνο το Play Store και ένα σύνολο βιβλιοθηκών απαραίτητων για τη λειτουργία του.

Η ενσωμάτωση του GApps στο υλικολογισμικό γίνεται ως εξής:

  1. Αποσυσκευάστε το αρχείο ZIP του GApps χρησιμοποιώντας οποιοδήποτε πρόγραμμα αρχειοθέτησης.
  2. Μεταβείτε στο φάκελο Core.
  3. Βλέπουμε πολλά αρχεία με την επέκταση .tar.lz. Εξαγωγή χρησιμοποιώντας lzip.
  4. Μετά την αποσυσκευασία, αντιγράψτε τα αρχεία από τους φακέλους στους αντίστοιχους φακέλους του συστήματος. Είναι εύκολο να μαντέψετε τι να πετάξετε πού από τη δομή καταλόγου στο αρχείο. Για παράδειγμα, το configupdater (από το στιγμιότυπο οθόνης) πρέπει να τοποθετηθεί στο φάκελο priv-app.
  5. Μεταβείτε στο φάκελο GApps (βρίσκεται δίπλα στο Core) και ακολουθήστε τα βήματα 3 και 4 για τα αρχεία σε αυτόν.
  6. Αυτό ήταν όλο, έχουμε ενσωματώσει τα GApps στο υλικολογισμικό μας!

Ελεύθερος χώρος

Είναι απαραίτητο να κατανοήσουμε ότι ο χώρος για την εγκατάσταση υλικολογισμικού είναι περιορισμένος. Δεν μπορείτε να εγκαταστήσετε υλικολογισμικό του οποίου το μέγεθος υπερβαίνει το μέγεθος του διαμερίσματος συστήματος της συσκευής. Μπορείτε να δείτε την αξία του χρησιμοποιώντας:

$ adb κέλυφος df /system

Δεύτερη επιλογή: τοποθετήστε ένα τερματικό στη συσκευή και πληκτρολογήστε την εντολή

$df/σύστημα

Μπορείτε να μάθετε το μέγεθος του διαμερίσματος σε byte εγκαθιστώντας το BusyBox στο smartphone σας και εκτελώντας την εντολή στο τερματικό

$ busybox df -B 1 /system

Ή το ίδιο με χρησιμοποιώντας το ADB:

$ adb κέλυφος busybox df -B 1 /system

Ο χώρος που καταλαμβάνει το υλικολογισμικό θα είναι περίπου ίσος με το μέγεθος του συστήματος όταν αποσυσκευαστεί. Γενικά, κατά τη δημιουργία υλικολογισμικού, είναι απαραίτητο να ληφθεί υπόψη ότι ο χρήστης μπορεί επίσης να αναβοσβήνει διάφορες τροποποιήσεις πάνω του (SuperSU, Xposed) ή να μεταφέρει εφαρμογές στην ενότητα συστήματος. Για παράδειγμα, το ελάχιστο πακέτο εφαρμογών της Google (Pico) απαιτεί τουλάχιστον 150 MB πρόσθετου χώρου εγκατάστασης.

Εάν είναι απαραίτητο, το μέγεθος του αρχείου υλικολογισμικού μπορεί να μειωθεί διαγράφοντας όχι μόνο περιττά προγράμματααπό το /system/app (/system/priv-app) και ήχους κλήσεων από το system/media/audio και το bootanimation.zip, αλλά και:

  • /system/tts/lang_pico- οι γλώσσες της πρωτόγονης μηχανής φωνής Pico TTS, η μηχανή φωνής Google δεν θα επηρεαστούν.
  • /system/usr/srec/config/- γλώσσες εκτός σύνδεσης. Μπορείτε να το κατεβάσετε online αργότερα εάν χρειαστεί.

Συνέλευση

Αφού κάνετε αλλαγές, πρέπει να τα επαναφέρετε όλα μαζί. Αρχικά, ας συσκευάσουμε την ενότητα συστήματος στο system.new.dat . Κατεβάστε τα εργαλεία που χρειαζόμαστε:

$ wget https://github.com/xpirt/img2sdat/raw/master/img2sdat.py $ wget https://github.com/xpirt/img2sdat/raw/master/blockimgdiff.py $ wget https://github. com/xpirt/img2sdat/raw/master/common.py $ wget https://github.com/xpirt/img2sdat/raw/master/rangelib.py $ wget https://github.com/xpirt/img2sdat/raw/ master/sparse_img.py $ sudo apt-get install android-tools-fsutils

Ας μετατρέψουμε το φάκελό μας ξανά σε εικόνα RAW. Ας το ονομάσουμε system_new.img:

$ sudo make_ext4fs -T 0 -S file_contexts -l 1073741824 -a system system_new.img έξοδος/

Το 1073741824 αλλάζει στο μέγεθος του διαμερίσματος συστήματος σε byte. Καλό θα ήταν να το κάνετε ακόμη και λίγο μικρότερο. Δημιουργούμε μια αραιή εικόνα από την εικόνα RAW:

$ img2simg system_new.img system_snew.img

Ας μετατρέψουμε την εικόνα μας σε system.transfer.list και system.new.dat, τα οποία θα πρέπει να πεταχτούν στο αρχείο με το υλικολογισμικό, αλλά πρώτα θα διαγράψουμε τα παλιά αρχεία:

$ rm -rf system.transfer.list $ rm -rf system.new.dat $ rm -rf system.patch.dat $ chmod +x img2sdat.py $ ./img2sdat.py system_snew.img

Ας διαχωρίσουμε τα αρχεία υλικολογισμικού από τον περιττό φλοιό (αρχεία που κατεβάσαμε για εργασία. Για αυτό είναι βολικό να χρησιμοποιήσετε το αρχείο με το υλικολογισμικό). Διαγράφηκε; Τώρα πρέπει να συσκευάσετε το υλικολογισμικό σε ένα αρχείο ZIP (με οποιοδήποτε αρχείο αρχειοθέτησης).

Το μόνο που μένει είναι να υπογράψουμε το αρχείο. Αυτό μπορεί να γίνει τόσο στο ίδιο το Android χρησιμοποιώντας το ZipSigner όσο και σε υπολογιστή (θα χρειαστείτε εγκατεστημένη Java):

$ wget https://github.com/appium/sign/raw/master/dist/sign.jar $ java -jar file.zip

Υποβρύχιοι βράχοι

Κατά τη δημιουργία του system.new.dat ενδέχεται να αντιμετωπίσετε αρκετά προβλήματα που προκαλούνται από συνεχείς αλλαγές στους μηχανισμούς παραγωγής Υλικολογισμικό Android. Η μέθοδος που περιγράφεται παραπάνω θα πρέπει να λειτουργεί καλά στην περίπτωση υλικολογισμικού που βασίζεται στο Android 5.1· τα νεότερα ενδέχεται να έχουν δυσκολίες, επομένως θα χρειαστεί να χρησιμοποιήσετε άλλες εκδόσεις των εργαλείων κατασκευής. Δυστυχώς, δεν μπορούμε να περιγράψουμε όλες τις αποχρώσεις της συναρμολόγησης, επομένως ίσως χρειαστεί να το αναζητήσετε στο Google.

Εγκατάσταση

Για να εγκαταστήσετε προσαρμοσμένο υλικολογισμικό χρειάζεστε ένα προσαρμοσμένο ανάκτηση TWRP, το οποίο σας επιτρέπει να εγκαταστήσετε ανυπόγραφο ή υπογεγραμμένο με δοκιμαστικό υλικολογισμικό κλειδιού (αυτό ακριβώς δημιουργήσαμε). Στο περιοδικό, έχουμε περιγράψει επανειλημμένα τη διαδικασία εγκατάστασης και στα θέματα του φόρουμ που είναι αφιερωμένα στη συσκευή σας, συνήθως υπάρχουν αρκετές πληροφορίες για να το κάνετε αυτό.

TWRP

συμπεράσματα

Αυτό το άρθρο περιγράφει μόνο την κορυφή ενός τεράστιου παγόβουνου που ονομάζεται "τροποποίηση υλικολογισμικού". Το «σοβαρό» υλικολογισμικό όχι μόνο συμπληρώνει τον πυρήνα και το ίδιο το υλικολογισμικό με εφαρμογές στοκ με πολλές λειτουργίες (που συχνά λαμβάνονται από άλλους πυρήνες και υλικολογισμικό), οργανώνοντας ή ακόμα και αλλάζοντας τις αρχές της αλληλεπίδρασής τους, αλλά μπορεί επίσης να αλλάξει ριζικά τις αρχές λειτουργίας του το ΛΣ. Είναι αλήθεια ότι ένα τέτοιο hack δεν είναι πλέον Android, αλλά ένα ξεχωριστό λειτουργικό σύστημα, ακόμα κι αν οι υπηρεσίες Play μπορούν να εγκατασταθούν εκεί (παρεμπιπτόντως, τέτοιες ενέργειες, για να το θέσω ήπια, δεν ενθαρρύνονται από την Google). Λοιπόν, μην ξεχνάτε: όλα τα κελύφη των κατασκευαστών - TouchWiz, ZenUI, HTC Sense και ούτω καθεξής - είναι απλώς συνηθισμένα προσαρμοσμένα, που συνδέονται με το μέγιστο με το υλικό της συσκευής και μεταξύ τους.

Παρεμβολή, παρεμβολή- στα υπολογιστικά μαθηματικά, μια μέθοδος εύρεσης ενδιάμεσων τιμών μιας ποσότητας από ένα υπάρχον διακριτό σύνολο γνωστών τιμών.

Πολλοί από αυτούς που ασχολούνται με επιστημονικούς και μηχανικούς υπολογισμούς πρέπει συχνά να λειτουργούν με σύνολα τιμών που λαμβάνονται εμπειρικά ή με τυχαία δειγματοληψία. Κατά κανόνα, με βάση αυτά τα σύνολα, είναι απαραίτητο να κατασκευαστεί μια συνάρτηση στην οποία άλλες λαμβανόμενες τιμές θα μπορούσαν να πέσουν με υψηλή ακρίβεια. Αυτή η εργασία ονομάζεται προσέγγιση. Η παρεμβολή είναι ένας τύπος προσέγγισης στον οποίο η καμπύλη της κατασκευασμένης συνάρτησης διέρχεται ακριβώς από τα διαθέσιμα σημεία δεδομένων.

Υπάρχουν πολλές μέθοδοι παρεμβολής πεπερασμένων διαφορών. Πλέον
Η μέθοδος του Newton για εμπρόσθια παρεμβολή (μέθοδος Newton-Gregory) είναι κοινή. Το πολυώνυμο παρεμβολής σε αυτή την περίπτωση έχει τη μορφή:

Βρίσκουμε τους συντελεστές C χρησιμοποιώντας τον τύπο:

Υλοποίηση του προγράμματος σε C#:
χρησιμοποιώντας το σύστημα. Παρεμβολή χώρου ονομάτων ( Πρόγραμμα κλάσης…

Το πρόγραμμα χωρίζεται σε δύο νήματα στο ένα από τα οποία εκτελείται ταξινόμηση και στο άλλο η γραφική διεπαφή επανασχεδιάζεται. Αφού κάνετε κλικ στο κουμπί «Ταξινόμηση», το πρόγραμμα καλεί τη μέθοδο «RunSorting», στην οποία ορίζεται ο αλγόριθμος ταξινόμησης και δημιουργείται ένα νέο νήμα με τη διαδικασία ταξινόμησης να εκτελείται σε αυτό.
ιδιωτικό κενό RunSo…

Σήμερα θέλω να δείξω την Kacher μου, την οποία έκανα τις περασμένες χειμερινές διακοπές. Δεν θα περιγράψω ολόκληρη τη διαδικασία παραγωγής, καθώς υπάρχουν πολλά άρθρα στο Διαδίκτυο. Θα γράψω μόνο για τις κύριες παραμέτρους του.

Ακολουθούν μερικές φωτογραφίες που τραβήχτηκαν κατά τη συναρμολόγηση της συσκευής.

Το πηνίο τυλίγεται με περίπου 2000 στροφές σύρματος 0,08 mm σε σωλήνα PVC με διάμετρο 50 mm και ύψος 200 mm.

Ως τερματικό χρησιμοποιήθηκε μια πλάκα από έναν παλιό σκληρό δίσκο. Όλα τα άλλα συναρμολογήθηκαν σύμφωνα με το διάγραμμα που βρίσκεται στο κάτω μέρος της σελίδας.

Η πρώτη επιλογή τροφοδοτήθηκε από το τροφοδοτικό ενός παλιού υπολογιστή, με τάση 12 V. Στη συνέχεια έγινε ξεχωριστή παροχή ρεύματος, με τάση 30 V και με ενσωματωμένη ψύξη.

Διάγραμμα συσκευής:

Η κοινή χρήση πόρων μεταξύ τομέων (CORS) είναι μια προδιαγραφή του W3C που επιτρέπει την επικοινωνία μεταξύ τομέων στο πρόγραμμα περιήγησης. Χτίζοντας πάνω από το αντικείμενο XMLHttpRequest, το CORS επιτρέπει στους προγραμματιστές να εργάζονται με τους ίδιους ιδιωματισμούς με αιτήματα με τον ίδιο τομέα. Η θήκη χρήσης του CORS είναι απλή. Φανταστείτε ότι το alice.com έχει κάποια δεδομένα που θέλει να αποκτήσει το bob.com. Αυτός ο τύπος αιτήματος παραδοσιακά δεν επιτρέπεται σύμφωνα με την ίδια πολιτική προέλευσης του προγράμματος περιήγησης. Ωστόσο, υποστηρίζοντας αιτήματα CORS, το alice.com μπορεί να προσθέσει ορισμένες ειδικές κεφαλίδες απόκρισης που επιτρέπουν στο bob.com να έχει πρόσβαση στα δεδομένα. Όπως μπορείτε να δείτε από αυτό το παράδειγμα, η υποστήριξη CORS απαιτεί συντονισμό μεταξύ διακομιστή και πελάτη. Ευτυχώς, εάν είστε προγραμματιστής από την πλευρά του πελάτη, προστατεύεστε από τις περισσότερες από αυτές τις λεπτομέρειες. Το υπόλοιπο αυτού του άρθρου δείχνει πώς οι πελάτες μπορούν να εκτελούν αιτήματα πολλαπλής προέλευσης και πώς οι διακομιστές μπορούν να διαμορφωθούν για να υποστηρίζουν CORS. Συνεχίζεται…




Μπλουζα