Loading Android.mk 0 → 100644 +25 −0 Original line number Diff line number Diff line # # Copyright (C) 2016 The CyanogenMod Project # Copyright (C) 2017 The LineageOS Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. LOCAL_PATH := $(call my-dir) ifeq ($(TARGET_DEVICE), a610) include $(call all-makefiles-under,$(LOCAL_PATH)) include $(CLEAR_VARS) endif AndroidBoard.mk 0 → 100644 +24 −0 Original line number Diff line number Diff line # # Copyright (C) 2016 The CyanogenMod Project # Copyright (C) 2017 The LineageOS Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) ALL_PREBUILT += $(INSTALLED_KERNEL_TARGET) # include the non-open-source counterpart to this file -include vendor/zte/a610/AndroidBoardVendor.mk AndroidProducts.mk 0 → 100644 +2 −0 Original line number Diff line number Diff line PRODUCT_MAKEFILES := \ $(LOCAL_DIR)/omni_a610.mk BoardConfig.mk 0 → 100644 +213 −0 Original line number Diff line number Diff line # # Copyright (C) 2016 The CyanogenMod Project # Copyright (C) 2017 The LineageOS Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. LOCAL_PATH := device/zte/a610 BOARD_GLOBAL_CFLAGS += -DNO_SECURE_DISCARD BOARD_GLOBAL_CFLAGS += -DDISABLE_HW_ID_MATCH_CHECK # GPS TARGET_SPECIFIC_HEADER_PATH := $(LOCAL_PATH)/include BOARD_GPS_LIBRARIES := true BOARD_CONNECTIVITY_MODULE := conn_soc BOARD_MEDIATEK_USES_GPS := true # Platform TARGET_BOARD_PLATFORM := mt6735 TARGET_NO_BOOTLOADER := true TARGET_NO_FACTORYIMAGE := true MTK_K64_SUPPORT = yes # CMHW BOARD_USES_CYANOGEN_HARDWARE := true BOARD_HARDWARE_CLASS += device/zte/a610/cmhw # Deodex #WITH_DEXPREOPT := false WITH_DEXPREOPT_BOOT_IMG_ONLY := true DONT_DEXPREOPT_PREBUILTS := true #FORCE_32_BIT = true # Architecture ifeq ($(FORCE_32_BIT),true) TARGET_ARCH := arm TARGET_ARCH_VARIANT := armv7-a-neon TARGET_CPU_ABI := armeabi-v7a TARGET_CPU_ABI2 := armeabi TARGET_CPU_VARIANT := cortex-a53 else TARGET_ARCH := arm64 TARGET_ARCH_VARIANT := armv8-a TARGET_CPU_ABI := arm64-v8a TARGET_CPU_ABI2 := TARGET_CPU_VARIANT := cortex-a53 TARGET_2ND_ARCH := arm TARGET_2ND_ARCH_VARIANT := armv7-a-neon TARGET_2ND_CPU_ABI := armeabi-v7a TARGET_2ND_CPU_ABI2 := armeabi TARGET_2ND_CPU_VARIANT := cortex-a53 TARGET_CPU_ABI_LIST_64_BIT := $(TARGET_CPU_ABI) TARGET_CPU_ABI_LIST_32_BIT := $(TARGET_2ND_CPU_ABI),$(TARGET_2ND_CPU_ABI2) TARGET_CPU_ABI_LIST := $(TARGET_CPU_ABI_LIST_64_BIT),$(TARGET_CPU_ABI_LIST_32_BIT) endif # Bootloader TARGET_BOOTLOADER_BOARD_NAME := mt6735 # Kernel BOARD_KERNEL_IMAGE_NAME := kernel #TARGET_KERNEL_SOURCE := kernel-3.18 #TARGET_KERNEL_CONFIG := a610_defconfig TARGET_PREBUILT_KERNEL := $(LOCAL_PATH)/rootdir/kernel BOARD_KERNEL_BASE = 0x40000000 BOARD_KERNEL_PAGESIZE := 2048 BOARD_RAMDISK_OFFSET = 0x04000000 BOARD_TAGS_OFFSET = 0xE000000 ifeq ($(FORCE_32_BIT),true) TARGET_KERNEL_ARCH := arm BOARD_KERNEL_CMDLINE = bootopt=64S3,32N2,32N2 androidboot.selinux=permissive BOARD_KERNEL_OFFSET = 0x00008000 else TARGET_KERNEL_ARCH := arm64 TARGET_KERNEL_CROSS_COMPILE_PREFIX := aarch64-linux-android- BOARD_KERNEL_CMDLINE = bootopt=64S3,32N2,64N2 androidboot.selinux=permissive BOARD_KERNEL_OFFSET = 0x00080000 TARGET_USES_64_BIT_BINDER := true endif BOARD_MKBOOTIMG_ARGS := --kernel_offset $(BOARD_KERNEL_OFFSET) --ramdisk_offset $(BOARD_RAMDISK_OFFSET) --tags_offset $(BOARD_TAGS_OFFSET) --board BLADE_A610_V0 BOARD_CUSTOM_BOOTIMG := true TARGET_KMODULES := true # make_ext4fs requires numbers in dec format TARGET_USERIMAGES_USE_EXT4 := true BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4 BOARD_BOOTIMAGE_PARTITION_SIZE := 16777216 BOARD_RECOVERYIMAGE_PARTITION_SIZE := 16777216 BOARD_SYSTEMIMAGE_PARTITION_SIZE:=2558525440 BOARD_CACHEIMAGE_PARTITION_SIZE:=419430400 BOARD_USERDATAIMAGE_PARTITION_SIZE:=12353781760 BOARD_FLASH_BLOCK_SIZE := 4096 # Assert TARGET_OTA_ASSERT_DEVICE := a610,ZTE_BLADE_A610,A610,P635T36,E183L # Disable memcpy opt (for audio libraries) TARGET_CPU_MEMCPY_OPT_DISABLE := true TARGET_PROVIDES_LIBLIGHT := true # Graphics BOARD_EGL_CFG := $(LOCAL_PATH)/egl.cfg BOARD_EGL_WORKAROUND_BUG_10194508 := true USE_OPENGL_RENDERER := true NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3 TARGET_RUNNING_WITHOUT_SYNC_FRAMEWORK := true TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS := true MTK_HWC_SUPPORT := yes MTK_HWC_VERSION := 1.4.1 # MTK Hardware BOARD_HAS_MTK_HARDWARE := true BOARD_USES_MTK_HARDWARE := true MTK_HARDWARE := true BOARD_USES_MTK_MEDIA_PROFILES := true BOARD_GLOBAL_CFLAGS += -DADD_LEGACY_ACQUIRE_BUFFER_SYMBOL # OMX TARGET_OMX_LEGACY_RESCALING := true # Fonts EXTENDED_FONT_FOOTPRINT := true # Charger BACKLIGHT_PATH := /sys/class/leds/lcd-backlight/brightness # SU WITH_SU := true # RIL BOARD_RIL_CLASS := ../../../device/zte/a610/ril BOARD_DISABLE_HW_ID_MATCH_CHECK := true BOARD_CONNECTIVITY_VENDOR := MediaTek BOARD_CONNECTIVITY_MODULE := conn_soc # WIFI WPA_SUPPLICANT_VERSION := VER_0_8_X BOARD_HOSTAPD_DRIVER := NL80211 BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_mt66xx BOARD_WPA_SUPPLICANT_DRIVER := NL80211 BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_mt66xx WIFI_DRIVER_FW_PATH_PARAM:="/dev/wmtWifi" WIFI_DRIVER_FW_PATH_STA:=STA WIFI_DRIVER_FW_PATH_AP:=AP WIFI_DRIVER_FW_PATH_P2P:=P2P # Bluetooth BOARD_HAVE_BLUETOOTH := true BOARD_HAVE_BLUETOOTH_MTK := true BOARD_BLUETOOTH_DOES_NOT_USE_RFKILL := true BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := $(LOCAL_PATH)/bluetooth # Sensors TARGET_NO_SENSOR_PERMISSION_CHECK := true TARGET_NEEDS_PLATFORM_TEXT_RELOCATIONS := true # Enable Minikin text layout engine (will be the default soon) USE_MINIKIN := true # CWM TARGET_RECOVERY_FSTAB := $(LOCAL_PATH)/rootdir/root/recovery.fstab TARGET_PREBUILT_RECOVERY_KERNEL := $(LOCAL_PATH)/rootdir/kernel BOARD_HAS_NO_SELECT_BUTTON := true # TWRP stuff TW_THEME := portrait_hdpi RECOVERY_GRAPHICS_USE_LINELENGTH := true TW_NO_REBOOT_BOOTLOADER := true TW_BRIGHTNESS_PATH := /sys/devices/platform/leds-mt65xx/leds/lcd-backlight/brightness TARGET_USE_CUSTOM_LUN_FILE_PATH := /sys/devices/platform/mt_usb/musb-hdrc.0.auto/gadget/lun%d/file TW_MAX_BRIGHTNESS := 255 TW_EXCLUDE_SUPERSU := true TW_INCLUDE_FB2PNG := true TW_NO_CPU_TEMP := true TW_REBOOT_BOOTLOADER := true TW_REBOOT_RECOVERY := true TW_HAS_DOWNLOAD_MODE := true TW_EXCLUDE_SUPERSU := true TW_USE_TOOLBOX := true TARGET_USE_CUSTOM_LUN_FILE_PATH := "/sys/devices/virtual/android_usb/android0/f_mass_storage/lun%d/file" BOARD_SEPOLICY_DIRS := $(LOCAL_PATH)/sepolicy # Use old sepolicy version #POLICYVERS := 29 # Seccomp filter BOARD_SECCOMP_POLICY := $(LOCAL_PATH)/seccomp MTK_GPU_VERSION := mali midgard r7p0 # Hack for build $(shell mkdir -p $(OUT_DIR)/obj/KERNEL_OBJ/usr) USE_NINJA := false MANUAL.md 0 → 100644 +149 −0 Original line number Diff line number Diff line # Инструкция по запуску компиляции ## Установка JAVA #### Устанавливаем "java" командой: ``` sudo apt-add-repository ppa:openjdk-r/ppa sudo apt-get update sudo apt-get install openjdk-8-jdk ``` #### Добавляем пакеты для "java" командой: ``` sudo apt-get update && sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev openjdk-8-jre openjdk-8-jdk pngcrush schedtool libxml2 libxml2-utils xsltproc lzop libc6-dev schedtool g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline-gplv2-dev gcc-multilib maven tmux screen w3m ncftp ``` ## Установка Репозитория #### Создаем папку "bin" командой: ``` mkdir ~/bin ``` #### Патчим папку "bin" командой: ``` PATH=~/bin:$PATH ``` #### Добавляем "repo" командой: ``` curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo ``` #### Делаем разрешение для "repo" командой: ``` chmod a+x ~/bin/repo ``` ## Загрузка исходников и настройка #### Создаем папку "BLADE" и в ней запускаем командную строку: ``` mkdir ~/BLADE cd ~/BLADE ``` #### Логинимся в "git" (если учетки нету, вам сюда "https://github.com/" ): ``` git config --global user.email "aaa@bbbbbb.com" (емейл на который была зарегистрирована учетка гитхаба) git config --global user.name "NAME" (Логин на гитхабе) ``` #### Скачиваем исходники при помощи команды: ``` repo init -u (дальше вставляeм ссылку на исходники, котрые хотите скачать) ``` #### Например, для скачивание исходников Resurrection Remix 5.8.x команда выглядит следующим образом: ``` repo init -u https://github.com/ResurrectionRemix/platform_manifest.git -b nougat ``` #### Cинховать исходники при помощи команды: ``` repo sync -f --force-sync --no-clone-bundle ``` ## Настройка "Дерева" и "Вендора" устройства ### Дерево #### Заходим в папку "BLADE" командой: ``` cd ~/BLADE ``` #### Заходим в папку "device" командой: ``` cd device ``` #### Создаем папку "zte" командой: ``` mkdir zte ``` #### Заходим в папку "zte командой": ``` cd zte ``` #### Скачиваем "Дерево" командой: ``` git clone https://github.com/mosya234/android_device_zte_blade_a610.git a610 ``` ### Вендор #### Заходим в папку "BLADE" командой: ``` cd ~/BLADE ``` #### Заходим в папку "vendor" командой: ``` cd vendor ``` #### Создаем папку "zte" командой: ``` mkdir zte ``` #### Скачиваем "Вендор" командой: ``` git clone https://github.com/mosya234/android_vendor_zte_blade_a610.git a610 ``` ## Патчим исходники #### Патчим командой: ``` cd ~/BLADE/device/zte/a610/patches_mtk && . apply-patches.sh ``` ## КЕШ ### Устанавливаем "КЕШ" при сборке (Я делаю в ручную потому что так надежнее) #### Заходим через диспетчер файлов свою домашнюю папку (HOME), Нажимаем "Ctrl+H", Открываем файл ".bashrc" и в самый низ вставляем: ``` export USE_CCACHE=1 export ANDROID_JACK_VM_ARGS="-Xmx4096m -Xms512m -Dfile.encoding=UTF-8 -XX:+TieredCompilation" ``` #### (Где "Xmx4096m" - это количество оперативной памяти) ## Джек-сервер #### Пишем команду в корне папки "BLADE": ``` ./prebuilts/sdk/tools/jack-admin kill-server ``` ##### (Эта команда удаляет процесс рабочего сервера "ДЖЭK", если он вдруг сейчас работает) Нормальный ответ (означает что процесса не было): ``` /android/system$ ./prebuilts/sdk/tools/jack-admin kill-server Writing local settings in /home/hard/.jack Killing background server ERROR: No Jack server to kill ``` #### Запускаем сервер командой из папки "BLADE": ``` ./prebuilts/sdk/tools/jack-admin start-server ``` ## Сборка #### Заходим в папку "BLADE" командой: ``` cd ~/BLADE ``` #### Вводим команду: ``` . build/envsetup.sh && brunch a610 ``` ## НАЧИНАЕТСЯ СБОРКА!!! #### ошибки лечим по мере их возникновения ## УСПЕХОВ В СБОРКЕ!!! Loading
Android.mk 0 → 100644 +25 −0 Original line number Diff line number Diff line # # Copyright (C) 2016 The CyanogenMod Project # Copyright (C) 2017 The LineageOS Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. LOCAL_PATH := $(call my-dir) ifeq ($(TARGET_DEVICE), a610) include $(call all-makefiles-under,$(LOCAL_PATH)) include $(CLEAR_VARS) endif
AndroidBoard.mk 0 → 100644 +24 −0 Original line number Diff line number Diff line # # Copyright (C) 2016 The CyanogenMod Project # Copyright (C) 2017 The LineageOS Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) ALL_PREBUILT += $(INSTALLED_KERNEL_TARGET) # include the non-open-source counterpart to this file -include vendor/zte/a610/AndroidBoardVendor.mk
AndroidProducts.mk 0 → 100644 +2 −0 Original line number Diff line number Diff line PRODUCT_MAKEFILES := \ $(LOCAL_DIR)/omni_a610.mk
BoardConfig.mk 0 → 100644 +213 −0 Original line number Diff line number Diff line # # Copyright (C) 2016 The CyanogenMod Project # Copyright (C) 2017 The LineageOS Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. LOCAL_PATH := device/zte/a610 BOARD_GLOBAL_CFLAGS += -DNO_SECURE_DISCARD BOARD_GLOBAL_CFLAGS += -DDISABLE_HW_ID_MATCH_CHECK # GPS TARGET_SPECIFIC_HEADER_PATH := $(LOCAL_PATH)/include BOARD_GPS_LIBRARIES := true BOARD_CONNECTIVITY_MODULE := conn_soc BOARD_MEDIATEK_USES_GPS := true # Platform TARGET_BOARD_PLATFORM := mt6735 TARGET_NO_BOOTLOADER := true TARGET_NO_FACTORYIMAGE := true MTK_K64_SUPPORT = yes # CMHW BOARD_USES_CYANOGEN_HARDWARE := true BOARD_HARDWARE_CLASS += device/zte/a610/cmhw # Deodex #WITH_DEXPREOPT := false WITH_DEXPREOPT_BOOT_IMG_ONLY := true DONT_DEXPREOPT_PREBUILTS := true #FORCE_32_BIT = true # Architecture ifeq ($(FORCE_32_BIT),true) TARGET_ARCH := arm TARGET_ARCH_VARIANT := armv7-a-neon TARGET_CPU_ABI := armeabi-v7a TARGET_CPU_ABI2 := armeabi TARGET_CPU_VARIANT := cortex-a53 else TARGET_ARCH := arm64 TARGET_ARCH_VARIANT := armv8-a TARGET_CPU_ABI := arm64-v8a TARGET_CPU_ABI2 := TARGET_CPU_VARIANT := cortex-a53 TARGET_2ND_ARCH := arm TARGET_2ND_ARCH_VARIANT := armv7-a-neon TARGET_2ND_CPU_ABI := armeabi-v7a TARGET_2ND_CPU_ABI2 := armeabi TARGET_2ND_CPU_VARIANT := cortex-a53 TARGET_CPU_ABI_LIST_64_BIT := $(TARGET_CPU_ABI) TARGET_CPU_ABI_LIST_32_BIT := $(TARGET_2ND_CPU_ABI),$(TARGET_2ND_CPU_ABI2) TARGET_CPU_ABI_LIST := $(TARGET_CPU_ABI_LIST_64_BIT),$(TARGET_CPU_ABI_LIST_32_BIT) endif # Bootloader TARGET_BOOTLOADER_BOARD_NAME := mt6735 # Kernel BOARD_KERNEL_IMAGE_NAME := kernel #TARGET_KERNEL_SOURCE := kernel-3.18 #TARGET_KERNEL_CONFIG := a610_defconfig TARGET_PREBUILT_KERNEL := $(LOCAL_PATH)/rootdir/kernel BOARD_KERNEL_BASE = 0x40000000 BOARD_KERNEL_PAGESIZE := 2048 BOARD_RAMDISK_OFFSET = 0x04000000 BOARD_TAGS_OFFSET = 0xE000000 ifeq ($(FORCE_32_BIT),true) TARGET_KERNEL_ARCH := arm BOARD_KERNEL_CMDLINE = bootopt=64S3,32N2,32N2 androidboot.selinux=permissive BOARD_KERNEL_OFFSET = 0x00008000 else TARGET_KERNEL_ARCH := arm64 TARGET_KERNEL_CROSS_COMPILE_PREFIX := aarch64-linux-android- BOARD_KERNEL_CMDLINE = bootopt=64S3,32N2,64N2 androidboot.selinux=permissive BOARD_KERNEL_OFFSET = 0x00080000 TARGET_USES_64_BIT_BINDER := true endif BOARD_MKBOOTIMG_ARGS := --kernel_offset $(BOARD_KERNEL_OFFSET) --ramdisk_offset $(BOARD_RAMDISK_OFFSET) --tags_offset $(BOARD_TAGS_OFFSET) --board BLADE_A610_V0 BOARD_CUSTOM_BOOTIMG := true TARGET_KMODULES := true # make_ext4fs requires numbers in dec format TARGET_USERIMAGES_USE_EXT4 := true BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4 BOARD_BOOTIMAGE_PARTITION_SIZE := 16777216 BOARD_RECOVERYIMAGE_PARTITION_SIZE := 16777216 BOARD_SYSTEMIMAGE_PARTITION_SIZE:=2558525440 BOARD_CACHEIMAGE_PARTITION_SIZE:=419430400 BOARD_USERDATAIMAGE_PARTITION_SIZE:=12353781760 BOARD_FLASH_BLOCK_SIZE := 4096 # Assert TARGET_OTA_ASSERT_DEVICE := a610,ZTE_BLADE_A610,A610,P635T36,E183L # Disable memcpy opt (for audio libraries) TARGET_CPU_MEMCPY_OPT_DISABLE := true TARGET_PROVIDES_LIBLIGHT := true # Graphics BOARD_EGL_CFG := $(LOCAL_PATH)/egl.cfg BOARD_EGL_WORKAROUND_BUG_10194508 := true USE_OPENGL_RENDERER := true NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3 TARGET_RUNNING_WITHOUT_SYNC_FRAMEWORK := true TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS := true MTK_HWC_SUPPORT := yes MTK_HWC_VERSION := 1.4.1 # MTK Hardware BOARD_HAS_MTK_HARDWARE := true BOARD_USES_MTK_HARDWARE := true MTK_HARDWARE := true BOARD_USES_MTK_MEDIA_PROFILES := true BOARD_GLOBAL_CFLAGS += -DADD_LEGACY_ACQUIRE_BUFFER_SYMBOL # OMX TARGET_OMX_LEGACY_RESCALING := true # Fonts EXTENDED_FONT_FOOTPRINT := true # Charger BACKLIGHT_PATH := /sys/class/leds/lcd-backlight/brightness # SU WITH_SU := true # RIL BOARD_RIL_CLASS := ../../../device/zte/a610/ril BOARD_DISABLE_HW_ID_MATCH_CHECK := true BOARD_CONNECTIVITY_VENDOR := MediaTek BOARD_CONNECTIVITY_MODULE := conn_soc # WIFI WPA_SUPPLICANT_VERSION := VER_0_8_X BOARD_HOSTAPD_DRIVER := NL80211 BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_mt66xx BOARD_WPA_SUPPLICANT_DRIVER := NL80211 BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_mt66xx WIFI_DRIVER_FW_PATH_PARAM:="/dev/wmtWifi" WIFI_DRIVER_FW_PATH_STA:=STA WIFI_DRIVER_FW_PATH_AP:=AP WIFI_DRIVER_FW_PATH_P2P:=P2P # Bluetooth BOARD_HAVE_BLUETOOTH := true BOARD_HAVE_BLUETOOTH_MTK := true BOARD_BLUETOOTH_DOES_NOT_USE_RFKILL := true BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := $(LOCAL_PATH)/bluetooth # Sensors TARGET_NO_SENSOR_PERMISSION_CHECK := true TARGET_NEEDS_PLATFORM_TEXT_RELOCATIONS := true # Enable Minikin text layout engine (will be the default soon) USE_MINIKIN := true # CWM TARGET_RECOVERY_FSTAB := $(LOCAL_PATH)/rootdir/root/recovery.fstab TARGET_PREBUILT_RECOVERY_KERNEL := $(LOCAL_PATH)/rootdir/kernel BOARD_HAS_NO_SELECT_BUTTON := true # TWRP stuff TW_THEME := portrait_hdpi RECOVERY_GRAPHICS_USE_LINELENGTH := true TW_NO_REBOOT_BOOTLOADER := true TW_BRIGHTNESS_PATH := /sys/devices/platform/leds-mt65xx/leds/lcd-backlight/brightness TARGET_USE_CUSTOM_LUN_FILE_PATH := /sys/devices/platform/mt_usb/musb-hdrc.0.auto/gadget/lun%d/file TW_MAX_BRIGHTNESS := 255 TW_EXCLUDE_SUPERSU := true TW_INCLUDE_FB2PNG := true TW_NO_CPU_TEMP := true TW_REBOOT_BOOTLOADER := true TW_REBOOT_RECOVERY := true TW_HAS_DOWNLOAD_MODE := true TW_EXCLUDE_SUPERSU := true TW_USE_TOOLBOX := true TARGET_USE_CUSTOM_LUN_FILE_PATH := "/sys/devices/virtual/android_usb/android0/f_mass_storage/lun%d/file" BOARD_SEPOLICY_DIRS := $(LOCAL_PATH)/sepolicy # Use old sepolicy version #POLICYVERS := 29 # Seccomp filter BOARD_SECCOMP_POLICY := $(LOCAL_PATH)/seccomp MTK_GPU_VERSION := mali midgard r7p0 # Hack for build $(shell mkdir -p $(OUT_DIR)/obj/KERNEL_OBJ/usr) USE_NINJA := false
MANUAL.md 0 → 100644 +149 −0 Original line number Diff line number Diff line # Инструкция по запуску компиляции ## Установка JAVA #### Устанавливаем "java" командой: ``` sudo apt-add-repository ppa:openjdk-r/ppa sudo apt-get update sudo apt-get install openjdk-8-jdk ``` #### Добавляем пакеты для "java" командой: ``` sudo apt-get update && sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev openjdk-8-jre openjdk-8-jdk pngcrush schedtool libxml2 libxml2-utils xsltproc lzop libc6-dev schedtool g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline-gplv2-dev gcc-multilib maven tmux screen w3m ncftp ``` ## Установка Репозитория #### Создаем папку "bin" командой: ``` mkdir ~/bin ``` #### Патчим папку "bin" командой: ``` PATH=~/bin:$PATH ``` #### Добавляем "repo" командой: ``` curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo ``` #### Делаем разрешение для "repo" командой: ``` chmod a+x ~/bin/repo ``` ## Загрузка исходников и настройка #### Создаем папку "BLADE" и в ней запускаем командную строку: ``` mkdir ~/BLADE cd ~/BLADE ``` #### Логинимся в "git" (если учетки нету, вам сюда "https://github.com/" ): ``` git config --global user.email "aaa@bbbbbb.com" (емейл на который была зарегистрирована учетка гитхаба) git config --global user.name "NAME" (Логин на гитхабе) ``` #### Скачиваем исходники при помощи команды: ``` repo init -u (дальше вставляeм ссылку на исходники, котрые хотите скачать) ``` #### Например, для скачивание исходников Resurrection Remix 5.8.x команда выглядит следующим образом: ``` repo init -u https://github.com/ResurrectionRemix/platform_manifest.git -b nougat ``` #### Cинховать исходники при помощи команды: ``` repo sync -f --force-sync --no-clone-bundle ``` ## Настройка "Дерева" и "Вендора" устройства ### Дерево #### Заходим в папку "BLADE" командой: ``` cd ~/BLADE ``` #### Заходим в папку "device" командой: ``` cd device ``` #### Создаем папку "zte" командой: ``` mkdir zte ``` #### Заходим в папку "zte командой": ``` cd zte ``` #### Скачиваем "Дерево" командой: ``` git clone https://github.com/mosya234/android_device_zte_blade_a610.git a610 ``` ### Вендор #### Заходим в папку "BLADE" командой: ``` cd ~/BLADE ``` #### Заходим в папку "vendor" командой: ``` cd vendor ``` #### Создаем папку "zte" командой: ``` mkdir zte ``` #### Скачиваем "Вендор" командой: ``` git clone https://github.com/mosya234/android_vendor_zte_blade_a610.git a610 ``` ## Патчим исходники #### Патчим командой: ``` cd ~/BLADE/device/zte/a610/patches_mtk && . apply-patches.sh ``` ## КЕШ ### Устанавливаем "КЕШ" при сборке (Я делаю в ручную потому что так надежнее) #### Заходим через диспетчер файлов свою домашнюю папку (HOME), Нажимаем "Ctrl+H", Открываем файл ".bashrc" и в самый низ вставляем: ``` export USE_CCACHE=1 export ANDROID_JACK_VM_ARGS="-Xmx4096m -Xms512m -Dfile.encoding=UTF-8 -XX:+TieredCompilation" ``` #### (Где "Xmx4096m" - это количество оперативной памяти) ## Джек-сервер #### Пишем команду в корне папки "BLADE": ``` ./prebuilts/sdk/tools/jack-admin kill-server ``` ##### (Эта команда удаляет процесс рабочего сервера "ДЖЭK", если он вдруг сейчас работает) Нормальный ответ (означает что процесса не было): ``` /android/system$ ./prebuilts/sdk/tools/jack-admin kill-server Writing local settings in /home/hard/.jack Killing background server ERROR: No Jack server to kill ``` #### Запускаем сервер командой из папки "BLADE": ``` ./prebuilts/sdk/tools/jack-admin start-server ``` ## Сборка #### Заходим в папку "BLADE" командой: ``` cd ~/BLADE ``` #### Вводим команду: ``` . build/envsetup.sh && brunch a610 ``` ## НАЧИНАЕТСЯ СБОРКА!!! #### ошибки лечим по мере их возникновения ## УСПЕХОВ В СБОРКЕ!!!