2011-11-23 11 views

Odpowiedz

12

Po dokonaniu wstępnej build (jestem zakładając, że zostały wykonane czynności opisane tutaj: http://source.android.com/source/building.html), można zbudować tylko Dalvik VM wykonując

$ make libdvm 

When kompilacja jest zrobione, widać jakieś wyjście w pobliżu, który wygląda mniej więcej tak

Install: out/target/product/generic/system/lib/libdvm.so 

jest to nowo wybudowany Dalvik VM (lub dokładniej, t jest biblioteką, w której wdrażana jest maszyna wirtualna Dalvik). Ostatnią częścią ścieżki wyjściowej jest oczekiwany plik instalacyjny, w tym przypadku /system/lib/libdvm.so. Aby zainstalować nową maszynę wirtualną, należy najpierw upewnić się, czy korzeń, a następnie zamontować partycji systemowej

$ adb root 
adbd is already running as root 
$ adb remount 
remount succeeded 

można teraz wcisnąć nową maszynę wirtualną z systemem:

$ adb push out/target/product/generic/system/lib/libdvm.so /system/lib/libdvm.so 

Zauważ, że jeśli uruchomić emulator, zmiana ta nie jest trwała, ponieważ emulator ładuje się za każdym razem, gdy rozpoczyna się od system.img. Jednak na urządzeniu zmiana będzie trwała. Ponadto, ponieważ Android wstępnie załadować proces zwany Zygote który jest później wykorzystywany do talerza procesów aplikacyjnych, musisz ponownie uruchomić system, aby nowy VM być stosowany w aplikacjach

$ adb reboot 

Rzeczywiście można odbudować komponenty praktycznie wszystko Androida w ten sposób . Ogólne kroki są

  1. Znajdź Android.mk w drzewie źródłowym komponentu chcesz odbudować
  2. Znajdź nazwę modułu. W przypadku Dalvik VM, linia wygląda następująco: LOCAL_MODULE := libdvm
  3. make nazwa modułu, który jest libdvm dla Dalvik VM
  4. Wbudowany plik zostanie ogłoszony w produkcji budowlanej i zacząć Install:. W przypadku maszyny Dalvik VM jest to Install: out/target/product/generic/system/lib/libdvm.so
  5. adb root i adb remount, następnie adb push zbudowany plik do działającego systemu Android. Ścieżka docelowa jest ostatnią częścią ścieżki pliku wyjściowego, która w przypadku dalvik to /system/lib/libdvm.so
Powiązane problemy