Buduję AOSP 4.2 Jelly Bean
. Wszystko jest w porządku, gdy buduję domyślną konfigurację full-eng
i uruchamiam ją na emulatorze.AOSP zbudował na niestandardowym urządzeniu
Muszę zbudować niestandardowe urządzenie i uruchomić je (na emulator
- do testowania, czy naprawdę działa, i na prawdziwym urządzeniu). Po utworzeniu niestandardowego urządzenia opartego na pliku full_base.mk
i uruchomieniu go na emulator
- emulator
po prostu rozłącza się na pierwszym ekranie z tekstem ANDROID i nie ładuje się wcale. Mam po system.img, userdata.img, ramdisk.img
po zbudowaniu w katalogu. Czy to wszystko, czego potrzebuję do stworzenia niestandardowego AOSP i uruchomienia go na urządzeniu? Czy mogę uruchomić moją kompilację na emulatorze lub tylko na prawdziwym urządzeniu?
Czy powinienem mieć coś więcej do budowy AOSP dla prawdziwego urządzenia: jądra, sterowniki urządzeń itp.?
Pliki folderów niestandardowych urządzenie (device/my_company/my_product):
Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
ifneq ($(filter my_product,$(TARGET_DEVICE)),)
include $(call all-makefiles-under,$(LOCAL_PATH))
endif
AndroidProducts.mk
PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/full_myproduct.mk
BoardConfig.mk
TARGET_NO_BOOTLOADER := true
TARGET_NO_KERNEL := true
TARGET_ARCH := arm
TARGET_ARCH_VARIANT := armv7-a
TARGET_CPU_VARIANT := generic
TARGET_CPU_ABI := armeabi-v7a
TARGET_CPU_ABI2 := armeabi
HAVE_HTC_AUDIO_DRIVER := true
BOARD_USES_GENERIC_AUDIO := true
# no hardware camera
USE_CAMERA_STUB := true
# Enable dex-preoptimization to speed up the first boot sequence
# of an SDK AVD. Note that this operation only works on Linux for now
ifeq ($(HOST_OS),linux)
ifeq ($(WITH_DEXPREOPT),)
WITH_DEXPREOPT := true
endif
endif
# Build OpenGLES emulation guest and host libraries
BUILD_EMULATOR_OPENGL := true
# Build and enable the OpenGL ES View renderer. When running on the emulator,
# the GLES renderer disables itself if host GL acceleration isn't available.
USE_OPENGL_RENDERER := true
full_myproduct.mk
$(call inherit-product, $(SRC_TARGET_DIR)/product/languages_full.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base.mk)
#DEVICE_PACKAGE_OVERLAYS :=
#PRODUCT_PACKAGES +=
#PRODUCT_COPY_FILES +=
PRODUCT_NAME := full_myproduct
PRODUCT_DEVICE := myproduct
PRODUCT_MODEL := Customized Android
PRODUCT_BRAND := Android
vendorsetup.sh
add_lunch_combo full_myproduct-userdebug
wszystko w logcat? Zwykle w tym przypadku zginęła jakaś usługa systemowa. – StarPinkER
Powiedziałeś, że budujesz na urządzeniu http://www.alibaba.com/product-gs/721860794/7_capacitive_screen_multi_touch_tablet.html Czy możesz powiedzieć, gdzie znalazłeś sterowniki tego urządzenia? – Rom098
sterowniki dostarczane są przez sprzedawcę. Jeśli utworzysz niestandardową pamięć ROM dla określonego urządzenia (a nie google. Sterowniki urządzeń Google są dostępne za darmo), skontaktuj się z dostawcą i poproś o sterowniki urządzeń. –