آموزش های توسعه رام اندروید

آموزش ساخت ریکاوری CWMاز منبع(بخش دوم)

[vc_row][vc_column][vc_column_text]

با بخش دوم آموزش در خدمتتان هستیم آموزشهای این بخش دیگر بیشتر کلی هستن و برای تمام MTK  کد جداگانه نیست
اکنون بعد از پایان بخش اول باید پوشه شاخه اصلی دستگاه ما به شکل زیر باشد

https-_drive-google

برای شروع نیاز به ساختن فایل vendorsetup.sh داریم در محتوای زیر

add_lunch_combo cm_P780-eng

یا برای راحتی کار میتوانید از یک گوشی دیگر فایل راکپی کنید و فقط نام گوشی خود را وارد کنید

در کل فایل شبیه به محتوای زیر می باشد

#
# Copyright (C) 2013 The Android Open Source 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.
#

# This file is executed by build/envsetup.sh, and can use anything
# defined in envsetup.sh.
#
# In particular, you can add lunch options with the add_lunch_combo
# function: add_lunch_combo generic-eng

add_lunch_combo cm_P780-eng

 

در مرحله بعد فایل AndroidBoard.mk را به Android.mk تغییر دهید و تغییرات زیر را اعمال کنید

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

ALL_PREBUILT += $(INSTALLED_KERNEL_TARGET)

# برای دستگاهای منبع باز نیستن
-include vendor/lenovo/P780/AndroidBoardVendor.mk

باید دارایی کدهای زیر باشد

#
# Copyright (C) 2013 The Android Open-Source 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.
#

# WARNING: Everything listed here will be built on ALL platforms,
# including x86, the emulator, and the SDK.  Modules must be uniquely
# named (liblights.tuna), and must build everywhere, or limit themselves
# to only building on ARM if they include assembly. Individual makefiles
# are responsible for having their own logic, for fine-grained control.

LOCAL_PATH := $(call my-dir)

ifeq ($(TARGET_DEVICE),P780)
include $(call all-makefiles-under,$(LOCAL_PATH))
endif

فایل AndroidProducts.mk نیازی به تغییر ندارد،فایل BoardConfig.mk را هم برای آخر کارمان می گذاریم

یک پوشه به نام prebuilt درست کنید و فایل kernel را درون آن بگذارید

پوشه ای به نام recovery ایجاد و فایل recovery.fstab را درونش بگذارید

فایل device_P780.mk را باز کنید برای ادیت از برنامه خوبی استفاده کنید ما از  Geany استفاده می کنیم برای فراخوانی کرنل چون مکان آن را تغییر دادیم مسیر را از

LOCAL_PATH := device/lenovo/P780

به مسیر زیر تغییر می دهیم

LOCAL_PATH := device/lenovo/P780/prebuilt

همچنین برای قرار دادن قوانینی در default propوramdisk می توانید کدهای زیر را اضافه کنید

ADDITIONAL_DEFAULT_PROPERTIES += ro.secure=0 \
ro.allow.mock.location=1 \
persist.mtk.aee.aed=on \
ro.debuggable=1 \
persist.service.acm.enable=0 \
persist.sys.usb.config=mass_storage \
ro.bootloader.mode=download \
ro.mount.fs=EXT4 \
ro.persist.partition.support=no

و اگر فایلهای بلااستفاده goldfish را در ramdisk نمی خواهید کد زیر را هم اضافه کنید

PRODUCT_COPY_FILES_OVERRIDES += \
 root/fstab.goldfish \
root/init.goldfish.rc \
 recovery/root/fstab.goldfish

این را هم بدانید در cm11 هر فایل با init شروع شود از روت ramdisk پاک می شوند همان طور که در build/core/Makefile می بینید

@echo -e ${CL_CYN}"Modifying ramdisk contents..."${CL_RST}
$(hide) rm -f $(TARGET_RECOVERY_ROOT_OUT)/init*.rc

پس برای قرار دادن فایلهای init در ramdisk شما باید یک پوشه بنام recovery درست کنید که ما قبلا درست کردیم و در آنجا یک پوشه که مطابق recovery ramdisk باشد درست کنید مانند etc, res, sbin… و در آخر یک پوشه root و فایلها را در آنجا قرار دهیم.

خوب زمان آن است تا فایلهای را به پوشه ریکاوری انتقال دهیم، پس فایلهای init.rc و fstab  نسبت به چیپ مانند نمونه برای کوالکام init.qualcomm.rc و fstab.qualcomm و اگر مدیاتک باشد init.mt6589.rc و fstab.mt6589 و یا اسم هر چیپ که باشد. فایل fstab در مسیر recovery/root قرار می گیرد و فایلهای init در ریکاوری باقی می مانند

تا اینجا بخش دوم را تمام می کنید با ما باشید با ادامه آموزش در روزهای آینده[/vc_column_text][vc_btn title=”برای ارائه سوالات و مشکلات به انجمن Gsm-Developers مراجعه نمایید.” style=”3d” color=”green”][vc_column_text]هرگونه کپی برداری از متن بدون ذکر منبع شرعا حرام و مورد پسند نویسنده نمی باشد[/vc_column_text][vc_btn title=”آموزش ساخت ریکاوری CWMاز منبع(بخش اول)” color=”success” link=”url:http%3A%2F%2Fwww.gsm-developers.com%2Fhow-to-build-cwm-based-recovery-from-source%2F||target:%20_blank|rel:nofollow”][vc_btn title=”آموزش ساخت ریکاوری CWMاز منبع(بخش سوم)” color=”success” link=”url:http%3A%2F%2Fwww.gsm-developers.com%2Fhow-to-build-cwm-based-recovery-from-source-3%2F||target:%20_blank|rel:nofollow”][vc_btn title=”آموزش ساخت ریکاوری CWMاز منبع(بخش چهارم)” color=”success” link=”url:http%3A%2F%2Fwww.gsm-developers.com%2Fhow-to-build-cwm-based-recovery-from-source-4%2F||target:%20_blank|rel:nofollow”][vc_btn title=”آموزش ساخت ریکاوری CWMاز منبع(بخش پنجم و پایانی)” color=”success” link=”url:http%3A%2F%2Fwww.gsm-developers.com%2Fhow-to-build-cwm-based-recovery-from-source-5%2F||target:%20_blank|rel:nofollow”][/vc_column][/vc_row]

mohsen

محسن هستم 30 ساله طرفدار دنیایی متنوع اندروید و کاستوم رامها در Gsm-Developers
دکمه بازگشت به بالا