Инструкции по сборке Android из исходников

andrwgldmn

rm -rf /*
22.12.2018
100
194
100
23
Киев
github.com
Устройство
iPhone SE
Adb & fastboot для Linux
Код:
sudo apt-get install android-tools-adb
sudo apt-get install android-tools-fastboot
Выбираем свою версию и меняем цифру в команде установки
Android 4.4 - Java 6
Android 5.x-6.x - Java 7
Android 7.x - Java 8
Код:
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-7-jdk
Выбираем на нужную версию Toolchain, например и загружаем в нужную вам директорию:
Код:
cd ~/Android/utility
git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6
cd ~/
Всё, наш Toolchain установился в ~/Android/utility/arm-eabi-4.6
Код:
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc

Если вы на Ubuntu 10.10 выполните:

sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so

Если вы на Ubuntu 11.10 установите:

sudo apt-get install libx11-dev:i386
Код:
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386

После этого выполните:

sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
Код:
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip imagemagick
> >











В процессе наполнения
 
Последнее редактирование:

Lord_X

Стараюсь быть человеком
23.12.2018
450
652
166
47
Украина
Устройство
Xiaomi Redmi Note 7
Все-таки считаю что нужно создать еще одну темку для начинающих.
Эта будет для продвинутых. Иначе такие как я постами все тут завалят :Pardon:
Вопрос по ядрам.
Хочу собрать ядро для 9-ки. Как посмотреть какие фичи можно в нем изменить или добавить?
Есть описание какое-то?
Можно ли усовершенствовать уже имеющееся ядро?
Спасибо
 

Lord_X

Стараюсь быть человеком
23.12.2018
450
652
166
47
Украина
Устройство
Xiaomi Redmi Note 7

А еще очень интересует эта прошивка
Можно ли ее запилить на j5xnlte?
 

Lord_X

Стараюсь быть человеком
23.12.2018
450
652
166
47
Украина
Устройство
Xiaomi Redmi Note 7
это была бы революция! Если получится - у нас будет эксклюзивчик :Clapping:
Сейчас позавтракаю и начну разбираться. ) Если что - попутно в темке обсуждать.
Я так понимаю руководствоваться нужно этим постом
Как трансформировать этот кусочек под нужные мне исходники?
Скачиваем исходники на примере LineageOS 15.1, можно взять :


Код:

repo init -u git://github.com/LineageOS/android.git -b lineage-15.1 && repo sync
 
Последнее редактирование:

Lord_X

Стараюсь быть человеком
23.12.2018
450
652
166
47
Украина
Устройство
Xiaomi Redmi Note 7
Последнее редактирование:

Lord_X

Стараюсь быть человеком
23.12.2018
450
652
166
47
Украина
Устройство
Xiaomi Redmi Note 7
По чем ты определяешь? Я увидел что там много путей. Но почему именно этот?
Потому что этот репозиторий без цветных меток? (Хочется разобраться досконально, чтоб больше не возвращаться к этому вопросу.)
Снимок экрана от 2019-01-01 16-19-06.png
 

andrwgldmn

rm -rf /*
22.12.2018
100
194
100
23
Киев
github.com
Устройство
iPhone SE
L Lord, по имени репозитория, зачастую чтобы выкачать весь сурс нам нужен platform_manifest/manifest/android
 
  • Спасибо
Благодарности: Lord_X

Lord_X

Стараюсь быть человеком
23.12.2018
450
652
166
47
Украина
Устройство
Xiaomi Redmi Note 7
100%
но все равно ошибка.
Снимок экрана от 2019-01-01 18-53-13.png
битый репозиторий? не хватает файлов?
 
Последнее редактирование:

Lord_X

Стараюсь быть человеком
23.12.2018
450
652
166
47
Украина
Устройство
Xiaomi Redmi Note 7
линейка у нас есть. рабочая полностью.
смотри. получилось?
попробовал без -f
Снимок экрана от 2019-01-01 19-32-58.png
 

Lord_X

Стараюсь быть человеком
23.12.2018
450
652
166
47
Украина
Устройство
Xiaomi Redmi Note 7

или
Я так понимаю это исходники для 9-ки. Для моего устройства.

на примере моих файлов обьясни как и что куда ложить.
Файл device.mk
Код:
#Inherit from vendor
$(call inherit-product-if-exists, vendor/samsung/j5xnlte/j5xnlte-vendor.mk)

# Inherit from common
$(call inherit-product, device/samsung/j5x-common/device-common.mk)

LOCAL_PATH := device/samsung/j5xnlte

# System properties
-include $(LOCAL_PATH)/system_prop.mk

# Common overlay
DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay

BoardConfig.mk
Код:
# Inherit from common
include device/samsung/j5x-common/BoardConfigCommon.mk

LOCAL_PATH := device/samsung/j5xnlte

# Asserts
TARGET_OTA_ASSERT_DEVICE := j5xnlte,j5xlte

# Kernel
TARGET_KERNEL_VARIANT_CONFIG := msm8916_sec_j5xnlte_eur_defconfig

# Partition sizes
BOARD_SYSTEMIMAGE_PARTITION_SIZE    := 2181038080
BOARD_USERDATAIMAGE_PARTITION_SIZE  := 5016350720

# RIL
SIM_COUNT := 2
BOARD_GLOBAL_CFLAGS += -DRIL_FIX_SMS_NOT_SENT_ERR
Снимок экрана от 2019-01-02 08-43-45.png
В папке sources нужно создать подпапки и положить?
Код:
include device/samsung/j5x-common/BoardConfigCommon.mk
Я правильно понял?
Снимок экрана от 2019-01-02 08-54-46.png
 
Последнее редактирование:

andrwgldmn

rm -rf /*
22.12.2018
100
194
100
23
Киев
github.com
Устройство
iPhone SE
L Lord,
в device/samsung/j5-common
в vendor/samsung
в device/samsung/msm8916-common
в kernel/samsung/msm8916
в device/samsung/j5lte
Папки в sources, ну или куда там сурс скачан, ветки брать 16.0
 
  • Спасибо
Благодарности: Lord_X

Lord_X

Стараюсь быть человеком
23.12.2018
450
652
166
47
Украина
Устройство
Xiaomi Redmi Note 7
:Sorry:
Задолбал я тебя. Извини.
Ну мне проще запоминать с практики.
Хотя бы основы.
Покажешь мне дорогу один раз - дальше уже проще будет.
Спасибо тебе за помощь.
Уже немного глаза открываются как это все устроено. Может позже напишу подробный мануал для таких же как я.
 

andrwgldmn

rm -rf /*
22.12.2018
100
194
100
23
Киев
github.com
Устройство
iPhone SE
L Lord, также пути можно смотреть по LOCAL_PATH, DEVICE_PATH и инклюдам некоторым + имена репозиториев, но не всегда
Все такими были, это нормально, я думаю :Acute:
 
  • Спасибо
Благодарности: Lord_X