2010-11-01 11 views
7

Sistemimde android kaynak kodum var ve iyi çalışıyor. Ama ben android kaynak dosyalarında bazı değişiklikler yapmak ve "make" çalıştırdığınızda, herhangi bir dosya oluşturmaz/güncelleştirmez Yanlış varsa, lütfen beni düzeltinAndroid kaynak kodundaki değişiklikleri yaptıktan sonra android kaynak kodunu nasıl yeniden oluşturabilirim

i) Sistem yeni bir system.img dosyası oluşturmalı kaynak koduna yapılmıştır

ii) i içinde yeni kütüphane klasör oluşturmak biz kaynak koduna

başka soru herhangi bir değişiklik yapmak bile android çekirdek dosya zImage dosya herhangi bir değişiklik ile değişmez/libcore derlerken otomatik olarak alınır./Libcore dışında yeni bir kütüphane klasörü oluşturmak için /build/core/main.mk ve .classpath dosyasındaki yolunu ekledim. Hala derleme sırasında yakalanmıyor. Birisi onaylamak misiniz nereye

Saygılar libcore/dışında yeni bir kitaplık dosyası eklemek için değişiklik yapmak zorunda hepsi Yogesh

Bu teslim aldığınız tam depo bağlıdır
+0

hiç yaşamadım, kullandığım belki de Android'in MotoDev Stüdyo (tam tutulma: Sonra, muhtemelen gerek eklentileri ile yükleyin) http://developer.motorola.com/docstools/motodevstudio/download/ Ne kullanıyorsunuz? – Jim

+2

Bunun yerine android için bir uygulama oluşturmak niyetinde değil, android yerleşik dosyaları bazı değişiklikler yapmak ve böylece tüm uygulamaların çalışabilir üstüne emülatör gönderilebilir, böylece kaynak yeniden derlemek istiyorum. – JoshMachine

+0

@JoshMachine Aynı sorunu yaşıyorum. Kaynak dosyalarına bazı günlükler ekledim ve bir giriş yaptım. Sorununuzu nasıl çözdünüz? –

cevap

10

. Ama bunların çoğunluğu için aşağıdaki tarifi çalışacaktır:

http://source.android.com/source/download.html

Not, en son yapı kullanıyorsanız, olmalıdır 64 bit sistem

GÜNCELLEME: Nedense sayfa üzerindedir bazı önemli adımları eksik. will

$ . build/envsetup.sh 
$ lunch 

son komut: İşiniz sonra Yani burada onlar

vardır aşağıdakileri yapın 'Repo senkronizasyon' adım (biraz zaman alıyor, ama kaynak dosyaları beri yaptığını varsayalım) Oluşturmak istediğiniz platform için seçenekler listesi. Eğer emülatör için inşa etmek istiyorsanız tam-eng seçiniz. Aksi takdirde, belirli cihaz satıcınız için bir tane seçin.

Platformu seçtikten sonra, her şeyden önce tam olarak yaptığınızdan emin olun, çünkü tüm android platformu birbirine çok bağlıdır. Bu yüzden tüm bileşenlere sahip olduğunuzdan emin olmalısınız.

Gelişirken, bireysel bileşenleri çok hızlı bir şekilde oluşturabilirsiniz. Örneğin

mmm <component_directory_name> 

: Aşağıdaki komutu kullanarak

mmm external/rsync 

Ayrıca yapı sisteminin değişmez kaynak koduyla çıktı ve ara dosyaları koydu. Her şey dışarı/hedef dizine gider.

+0

Merhaba Vlad, bu yüzden kaynak dosyalarında bazı değişiklikler yaparsam. bazı günlükler eklediğimi ve sonra da bir make yaptığımı söyleyeyim, out/target/product içindeki yeni görüntüler bu değişiklikleri alacak mı? –

+0

Üzgünüm, android yapmıyorum, bu çağlarda olduğu gibi. Eski sürümlerde, hiçbir görüntü değişmeyecek, yeni görüntüler elde etmek için tam olarak yeniden inşa etmeniz gerekir. Yeni Android platformlarının bu durumda ne yaptığı hakkında hiçbir fikriniz yok. – Vlad

+0

Bir AndroidManifest.xml dosyasında bazı değişiklikler yaptım ve bu uygulamayı mm-B ile derledim, ancak bu dosyayı yeniden açtıktan sonra değişikliklerim gitti! –

4

Yapmak istediğiniz değişikliğe bağlıdır. kolay bir durumda

, değişim (örneğin xxx.c denilen mevcut bir android kaynak dosyaları içine bazı yeni hatlar ekleyerek), kolayca çalıştırabilirsiniz yerel ise: Diğer durumlarda

mm -B (under the root directory of xxx.c) 
adb remount 
adb sync 
adb reboot 

, diyelim ki, sen init.rc dosyasında gösterildiği gibi önyükleme sırasında başlatılan eski olanı değiştirmek için yeni bir sistem hizmeti oluşturun.

  1. Güncelleme init.rc dosya
  2. kurmak bütün android kaynak
  3. Flaş yeni resim
+1

bir "adb root" muhtemelen gerekli, bu adb remount çalışır. 'adb root' ve' adb remount', yalnızca kullanıcı-hata ayıklama ve android sürümleri için kullanılabilir. –

İlgili konular