Witam. Jest to mój pierwszy poradnik - proszę z góry o wyrozumiałość.
Metoda ta została sprawdzona na telefonie z Androidem 2.3.4 , nie powinno być problemu z wersjami wyżej.
Pokaże wam jak dodać do romu informacje odczytywaną z pliku build.prop , podobnie jak w Cyanogenmod bądź wartości "Numer Kompilacji"
Przed przeczytaniem APELUJE o przeczytanie poradnika o dekompilacji i kompilacji aplikacji.
bez zrozumienia tego nie czytaj dalej.
Link -> https://forum.android.com.pl/topic/303375-edycja-plika-w-apk-w-prosty-sposa-b/
1) Zdekompiluj Settings.apk
2) W zdekompilowanym "projekcie" znajdź plik device_info_settings.xml (Settings/res/xml)
3) Otwórz go (polecam Notepad++) i za linijką
<Preference android:title="@string/build_number" android:key="build_number" android:summary="@string/device_info_default" style="?android:preferenceInformationStyle" />
dodaj
<Preference android:title="@string/your_rom_version" android:key="your_rom_version_key" android:summary="@string/your_rom_version_default" style="?android:preferenceInformationStyle" />
4)Znajdź plik strings.xml (Settings/res/values) i przed końcem czyli
</resources>
Dodaj
<string name="your_rom_version">My Rom Version</string>
<string name="your_rom_version_default">My Rom Version Value</string>
Po tej akcji już teraz w tym momencie w ustawieniach "Informacje o Telefonie" będziemy mieli nowy "rekord" o nazwie "My Rom Version" i wartości "My Rom Version Value". My Rom Version możemy zmienić dowolnym tekstem , jest to "Tytuł" rekordu , "My Version Value" to wartość ustawiana gdy nie będzie podanego rekordu w build.prop. niestety będzie on stały, do zmiany potrzebujemy dekompilowac i kompilować znowu , a nie do tego dąże 😉
5)Znajdź plik DeviceInfoSettings.smali (/Settingssmali/com/android/settings) i znajdź
.line 83
const-string v8, "firmware_version"
invoke-virtual {p0, v10}, Lcom/android/settings/DeviceInfoSettings;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;
move-result-object v8
invoke-virtual {v8, v11}, Landroid/preference/Preference;->setEnabled(Z)V
.line 84
const-string v8, "baseband_version"
const-string v9, "gsm.version.baseband"
invoke-direct {p0, v8, v9}, Lcom/android/settings/DeviceInfoSettings;->setValueSummary(Ljava/lang/String;Ljava/lang/String;)V
.line 85
const-string v8, "device_model"
sget-object v9, Landroid/os/Build;->MODEL:Ljava/lang/String;
invoke-direct {p0, v8, v9}, Lcom/android/settings/DeviceInfoSettings;->setStringSummary(Ljava/lang/String;Ljava/lang/String;)V
.line 86
const-string v8, "build_number"
sget-object v9, Landroid/os/Build;->DISPLAY:Ljava/lang/String;
invoke-direct {p0, v8, v9}, Lcom/android/settings/DeviceInfoSettings;->setStringSummary(Ljava/lang/String;Ljava/lang/String;)V
.line 87
const-string v8, "kernel_version"
invoke-virtual {p0, v8}, Lcom/android/settings/DeviceInfoSettings;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;
move-result-object v8
invoke-direct {p0}, Lcom/android/settings/DeviceInfoSettings;->getFormattedKernelVersion()Ljava/lang/String;
move-result-object v9
invoke-virtual {v8, v9}, Landroid/preference/Preference;->setSummary(Ljava/lang/CharSequence;)V
6) Przed
.line 84
const-string v8, "baseband_version"
const-string v9, "gsm.version.baseband"
invoke-direct {p0, v8, v9}, Lcom/android/settings/DeviceInfoSettings;->setValueSummary(Ljava/lang/String;Ljava/lang/String;)V
dodaj
const-string v1, "your_rom_version_key"
const-string v2, "ro.yourromname"
invoke-direct {p0, v1, v2}, Lcom/android/settings/DeviceInfoSettings;->setValueSummary(Ljava/lang/String;Ljava/lang/String;)V
Zapisz.
Teraz nasza nowo dodana wartość będzie ustawiana z pobranej wartości pliku build.prop. 😉
7) Skompiluj , wrzuć na telefon , zmień uprawnienia na rw-r--r-- i reboot !
A , nie zapomnij dodać do build.prop wartości. np:
ro.yourromname=CheQ.example
i jush! Przykład :
Tadam. :hurra:
Orginalny temat z opisem dekompilacji i kompilacji - [GUIDE] Add to Device Info the value read from Build.prop (like in CyanogenMOD) - xda-developers
Po jego dodaniu uświadomiono mnie że już taki temat na xda jest , pomimo iż tygodniami szukałem. :facepalm: