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

آموزش چگونگی پورت رام اصلی گوشیها(Sense/Touchwizz)

در این آموزش چگونگی پورت رامهای سازندهای مختلف مانند Sense / TouchWizz / Motoblur و غیره را آموزش می دهیم،این آموزش ساده هست و آسان ولی ممکن هست رامی که آماده می کنید بازم دارایی باگهای باشد.

در این آموزش نمونه ما پورت یک رام برای گوشی Nexus S می باشد.

موارد مورد نیاز

  • اوبنتو و آشپزخانه اندروید
  • برنامه Notepad++
  • برنامه Winrar

قبل از شروع کار باید بدونید که رام دستگاهی که می خواهید از آن پورت کنید باید از نظر سخت افزاری شبیه به هم باشند برای هر چه کمتر شدن باگهای رامتون سعی کنید از یک رزولوشن،یک سی پی یو باشند.

شروع کار برای پورت رام

  1. یک پوشه درست کنید و نام آن را رام پورت شده نام دستگاهتون
  2. رام aospیا cm مختص موبایل خودتون که ورژن اندروید آن با رامی که میخواهید پورت کنید یکی باشد.
  3. دانلود رامی که می خواهید پورت کنید.
  4. هر دو رام را در پوشه ای که در مرحله اول ساختید استخراج کنید.

http-_img4-hostingpics

اکنون دو پوشه داریم هر دو را باز کنید در رام پورت پوشه META-INF را پاک کنید و از بیس رام خود همین پوشه را به رام پورت کپی کنید.

http-_img4-hostingpicsپوشه سیستم را در رام پورت باز کنید و پوشه vendor را پاک کنید.

http-_img4-hostingpicsاکنون در پوشه پورت فایلهای زیر را پاک کنید.

  • modules
  • hw
  • egl

http-_img4-hostingpics

به پوشه بیس بروید و پوشهای زیر را اگر وجود داشتند در پوشه سیستم رام پورت شده کپی کنید فقط کپی کنید چیزی را جایگزین نکنید.

http-_img4-hostingpics

پوشه bin را در بیس باز کنید و پوشهای زیر را در پورت رام کپی کنید.

  • adb
  • brcm_patchram_plus
  • hostap
  • hostapd
  • init.vsnet
  • linker
  • logcat
  • logwrapper
  • radiooptions
  • rild
  • rmt_storage
  • vold
  • wpa_cli
  • wpa_supplicant
  • glgps

اکنون فایلها و پوشه های زیر را از بیس پوشه etc به پورت کپی و جایگزین کنید.

  • Bluetooth
  • Dhcpcd
  • Firmware
  • gps
  • init.d
  • permissions
  • ppp
  • pppd
  • security
  • ssh
  • terminfo
  • updatecmds
  • wifi
  • audio_effects.conf
  • audio_policy.conf
  • dbus.conf
  • gps.conf
  • init.*.sh
  • media_codecs.xml
  • media_profiles.xml
  • nfcee_access.xml
  • secomxregistry
  • vold.conf
  • vold.fstab
  • wrs_omxil_components.list

پوشه usr را از بیس به پورت هم کپی کنید.

پوشه lib را در بیس باز کنید و فایلهای زیر را به پورت انتقال دهید.

 

  • liblog.so
  • libsecril-client
  • libreference-ril.so
  • libril.so
  • libs3cjpeg.so
  • libaudioflinger.so (if port does not boot, use from PORT rom)
  • libaudioutils.so
  • libtinyalsa.so
  • libpn544_fw.so
  • libSEC_OMX_Core.so
  • libOMX.SEC.***.Decoder.so

 

  • برای گوشیهای HTC:
  • libhardware_legacy.so
  • libhtc_ril.so
  • libhtc_ril_switch.so

 

  • برای گوشیهای ال جی:
  • lge-ril.so

 

برای گوشیهای دیگر تمام فایلهای lib همراه ril را کپی کنید.

 

اکنون پوشه فریمور را در هر دو پوشه بیس و پورت باز کنید و فایل framework-res.apk را به نام framework-res.apk.zip تغییر نام دهید و با Winrar آن را باز کنید،در هر دو فایل به مسیر /res/xml بروید و فایل storage_list.xml را از پورت به بیس انتقال بدهید بعد از انتقال فایل را به حالت اول برگردانید و فرمت زیپ را از آن بردارید.

http-_img4-hostingpics

http-_img4-hostingpics

تذکر

دقت داشته باشید که ممکن هست بعضی فایلها در بعضی رامها وجود نداشته باشند به نسبت گوشی متفاوت هستن در این مواقع شما باید به سایت github.com/themuppets بروید و اگر موبایل شما دارایی cm رسمی باشد فایلها را از آنجا دانلود وکپی کنید در پوشه پورت خود.

 

فایل build.prop را باز کنید و کدهای زیر را در build.prop پوشه پورت قرار دهید.

ro.product.model=
ro.product.brand=
ro.product.name=
ro.product.device=
ro.product.board=
ro.product.cpu.abi=
ro.product.cpu.abi2=
ro.product.manufacturer=
ro.wifi.channels=
ro.board.platform=
ro.build.product=
ro.build.characteristics=
rild.libpath=
rild.libargs=
wifi.interface=

وارد اوبنتو بشوید برای اندروید 4.3 به پایین

  • آشپزخانه اندروید را باز کنید.
  • فایل بوت را در هر دو پوشه استخراج کنید.
  • دو فایل init.rc را باز کنید.
  • در کرنل CM/AOSP فایل BOOTCLASSPATH را در کرنل پوشه پورت کپی کنید.
  • ذخیره کنید و فایل بوت را کامپایل کنید.
  • فایل ویرایش شده کرنل CM/AOSP را در رام خود استفاده کنید.

برای اندروید 4.4 به بالا

  • آشپزخانه اندرید را باز کنید.
  • فایل بوت را در هر دو پوشه استراج کنید.
  • دو فایل init.environ.rc را باز کنید.
  • در کرنل CM/AOSP فایل BOOTCLASSPATH را در کرنل پوشه پورت کپی کنید.
  • در کرنل CM/AOSP تغییرات زیر را اعمال کنید.

–> ro.secure=1 to ro.secure=0
–> ro.debuggable=0 to ro.debuggable=1
–> persist.sys.usb.config=mtp to persist.sys.usb.config=mtp,adb
–> ro.adb.secure=1 to ro.adb.secure=0

  • ذخیره کنید و فایل بوت را کامپایل کنید.
  • از کرنل ویرایش شده CM/AOSP در رام خود استفاده کنید.

اکنون پوشه پورت خود را زیپ کنید و فلش بزنید.

http-_img4-hostingpics

http-_img4-hostingpics

http-_img4

راه حل بعضی از مشکلات هنگام پورت

برای حل مشکلاتی که در رام بوجود می آید می توانید فایلهای زیر را اگر وجود داشتند در رام پورت شده کپی کنید.

  • NFC
  • /system/app/Nfc.apk
  • /system/lib/libnfc*.so
  • /system/bin/pcscd
  • Radio FM
  • /system/bin/fmradio
  • Sensors
  • /system/bin/akmd*
  • /system/lib/libsensors.so
  • Bluetooth
  • /system/bin/bd_prov
  • /system/bin/uim*
  • /system/bin/hcid
  • /system/bin/bluetooth*
  • /system/bin/hciattach
  • /system/bin/sdptool
  • /system/xbin/hciconfig
  • Wifi
  • /system/bin/netcfg
  • /system/bin/dhcpcd
  • /system/bin/ifconfig
  • /system/bin/hostap
  • /system/bin/hostapd
  • /system/bin/hostapd_bin
  • /system/bin/pcscd
  • /system/bin/wlan*
  • /system/bin/wpa*
  • RIL
  • /system/bin/stmd
  • /system/bin/rild*
  • /system/etc/rril
  • Camera
  • فایل libcamera*.so را از بیس به پورت کپی کنید.

اگر بعد از این کارها رام شما بالا نیامد فایلها را برگردانید.

 

اگر رام برای HTC پورت می کنید از راه حل زیر استفاده کنید:

تعمیر مشکل خرابی اینترنت

  • فایل framework-res.apk را استخراج کنید.
  • وارد این پوشه بشوید \framework-res\res\values
  • فایل bools.xml را باز کنید
  • مقدارهای زیر را تغییر دهید.

<bool name=”skip_restoring_network_selection”>true</bool>

<bool name=”skip_restoring_network_selection”>false</bool>

تعمیر مشکل گرافیکی

  • فایل framework.jar را استخراج کنید.
  • فایلهای زیر را با بیش خود جایگزین کنید
  • smali\smali\android\os
  • Environment
  • SystemProperties
  • smali\smali\android\view
  • HardwareCanvas
  • HardwareRenderer$Gl20Renderer
  • HardwareRenderer$GlRenderer
  • HardwareRenderer

هر گونه کپی برداری بدون ذکر منبع حرام و مورد پسند نویسنده نمی باشد.

mohsen

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

‫35 دیدگاه ها

  1. سلام
    واقعا مطلبتون عالی و مختصر نوشته شده
    فقط من 2 سوال دارم
    1- فایل notification bar ( یا همون پنل اعلان) اسمش چی هس تو رام های سامسونگ؟ چون میخوام استاتوس بار رو تغییر بدم
    2-شما نوشتید فایل بوت رو کامپایل کنید. من چجوری کامپایل کنم؟ برنامه برای کامپایل میخواد؟
    خیلی ممنون

    1. سلام دوست عزیز
      1- قسمت نوار اعلان در SystemUI هستش.اتفاقا امروز یک آموزش درباره تغییر رنگ این قسمت دارم آماده می کنم
      2-فایلهای بوت و ریکاوری را با برنامه زیر ریپک و آنپک کنید
      http://www.gsm-developers.com/%d9%85%d8%b9%d8%b1%d9%81%db%8c-%d9%86%d8%b1%d9%85-%d8%a7%d9%81%d8%b2%d8%a7%d8%b1-%d8%b1%db%8c%d9%be%da%a9-%d9%88-%d8%a2%d9%86%d9%be%da%a9-android-image-kitchen-tool/

  2. سلامی دوباره
    سوالی دیگه داشتم
    اینکه رام پورت باید رام رسمی باشه؟
    مثلا اگه من بخوام رام پورت شده galaxy s7 برای galaxy s5 بسازم باید رام cm گلکسی اس 5 رو دانلود کنم و رام رسمی galaxy s7 که نسخه اندرویدش با رام بیس همخوانی داره بگیرم؟
    اگه اینطوره
    رام رسمی فایل zip نداره
    از چند تا فایل تشکیل شده که پسوندش ext4 هست
    ممنون میشم اگه کمکم کنید

    1. سلام دوست عزیز سامسونگ کدهای رامهاش را نداده بیرون پس اگه نیت پورت رام سامسونگ دارید فقط رام رسمی به رسمی میشه و خود ورژن اندروید یعنی اس 5 شما 6 باشه باید رام 6 اس 7 را پورت کنید
      رام رسمی زیپ نیست باید خود فایلهای ایمیچ رو آنپک کنید در خود سایت و انجمن سرچ کنید برای این مورد آموزش زیاد گذاشتیم
      برای رامهای جدید سامسونگ نیز از این آموزش استفاده کنید…یا برای شروع میتونید اصلا رام کاستوم اس 7 بگیرید که زیپ هست و قابلیتهای رو روی را زیپ کاستوم دیگری برای خود بزارید و رام بسازید(سامسونگ کمی بخاطر سختگیرهای سامسونگ ممکن اذیت کنه ولی شدنی هست)
      http://www.gsm-developers.com/port-samsung-rom-to-other-samsung-devices/

  3. سلام من یه گوشی هواوی دارم که هیچ کاستوم رانی برای پیدا نکردم همه ی سایت هاب ایرانی و خارجی رو تا جایی که تونستم گشتم ولی کاستوم رام برای پیدا نکردم .
    تصمیم گرفتم براش رام پورت کنم . گوشی من g630 که اندروید ۴.۳ هست . و سخت افزارش هم دقیقا شبیه lb g3 beat . منم می‌تونم رام براش پورت کنم ؟!

    1. سلام دوست عزیز نه متاسفانه نمی تونیم رام الجی برای هواوی پورت کنید کلا
      یا باید رام miui پیدا کنید هم نسخه اندروید خودتون یا یک رام هواوی دیگه وگرنه راهی نداره..سیانوژن هم کرنل میخواد که ساخت کرنل خودش داستانی بس دراز و طولانیست در سایت آموزشش هست ولی تخصص بالا و وقت و حوصله زیاد می خواد

  4. سلام . ممنون که جواب دادید . عیدتون هم مبارک باشه .
    منظورم این بود چون سخت افزار گوشی من هم GPU .CPU .Chipset.ram.اندازه صفحه و رزولوشن و… کاملاً شبیه lg. G3 bet هستش من می‌تونم رام های کاستومی که برای ال جی هست رو برای گوشی خودم پورت کنم ؟!

    1. با سلام سال نو شما هم مبارک …اگر کاستوم رام بر پایه رام رسمی خود الجی نباشه میشه روی رام با کرنل دیگه ای برای خودتون پورت کنید

          1. ببخشید واقعا خیلی زحمت دادم .
            لینک آموزشی در مورد پورت کاستوم رام ال جی با کرنل دیگه برای گوشی که سخت افزار مشابه دارم می‌خواستم .
            اگر از انجمن های خارجی هم باشه مشکلی نیست

          2. سلام برای الجی خودم کار نکردم اموزشی هم ندیدم ولی کوالکام آموزش هست بیشتر گوشیهای الجی هم کوالکام هستن

  5. سلام دوباره اگه میشه لینک آموزشی در این مورد بزارید یا خودتون آموزشش رو بزارید ؟

  6. ممنون . لطفاً اگه میشه لینک آموزش پورت کاستوم رام با کرنل دیگه ای برای گوشی های دیگه (کوالکام ) دارید بزارید یا خودتون آموزش بدید !؟ .
    اگه میشه آیدی تلگرام خودتون رو هم بزارید .

    1. با سلام دوست عزیز در تمام آموزشهای پورت اعلام کردم که باید ورژن اندروید یکی باشه چیپ پردازشی هم باید یکی باشه تا بشه پورت کرد..برای کوالکام که باید کلا دو دستگاه یکی باشند اینطور که شما میگید اصلا نمیشه پورت کرد
      در پردازندهای کوالکام نیز کرنلها فایلهاشون متفاوت هستن حتی نمیشه ریکاوریشون رو پورت کرد چه برسه رام از کرنل دیگه
      آپدی تلگرام هم خیلیا درخواست میکنن ولی کلا شماره شخصیم هست برای اینجور موارد استفاده نمیشه موفق باشید

  7. سلام آقا محسن
    میشه یه توضیح کاملتر بدید درباره اینکه چطور اون رام استوک گوشی رو اکسترکت کردید؟
    من یه رام سامسونگ با اندروید 6.0.1 دارم که 4 فایله هست یعنی فایل های بوت لودر و … جدا هستن
    پسوند .zip به آخر فایل AP که همون مغز رام هست اضافه میکنم و با نرم افزار winrar اکسترکتش میکنم اما فقط چند تا فایل img به اسم system و boot و recovery و … به دست میارم و خبری از پوشه ی system یا meta-inf نیست. خیلی هم سعی کردم با استفاده از ابزار های مختلف فایل ایمیج system.img رو باز کنم اما موفق نشدم.
    با ابزار رام پورتر هم که در یکی از پست هاتون معرفی کردید چندین بار به روش های مختلف تست کردم اما همیشه در اکسترکت کردن رام استوک (رامی که میخوام پورت کنم) ارور میده.
    لطف کنید راهنمایی کنید که مشکل کجاست و باید چیکار کنم مرسی

  8. با سلام خسته نباشید.
    ببخشید من یه کاستوم رام دارم droidmasterمال گوشی lg g2 d620خب بعد گوشی خودم lg g2 d618 هستم وهردو گوشیمونم یکیه lg g2 mini و فرق مدل من با یه مدل بالاتر خودش اینه که اون nfcداره من ندارم و گوشی من 2سیمکارتست و اون یک سیمکارتست می خواستم بدونم من چطوری میتونم کاستوم droidmaster اون گوشی رو برا گوشی خودم پورت کنم با چه روشی؟توروخدا اگه راهنماییم کنید از کدوم روش یعنی واقعا ممنون میشم خیلی واجبه خیلی خیلی مرسی از سایت عالیتون❤

  9. سلام خسته نباشید .
    یه سوال دارم آیا این آموزش برای پورت کردن رام با ورژن بالاتر برای گوشی اندرویدی هست؟
    و اینکه من تو آموزش کامپایل کردن کرنل رو درست متوجه نشدم . جایی هست که کار روی کرنل رو کامل و واضح توضیح داده باشه به خصوص کامپایل کردن و اینکه چطور یه کرنل CM یا lineage رو بشه روی اندروید 6 یا 7 برای بوت گرفتن آورد ؟
    چند وقته مطالب مختلف تو سایت رو چک میکنم برای اینکه بتونم اندروید 7 رو برای گوشی خودم که نوت 3 N900 هست پورت کنم با آشپزخانه اندروید هم کار کردم و نصب شد ولی نشد بوت بگیرم و متوجه شدم باید در بوت لودر یا کرنل تغییراتی عمل کنم . ممنون میشم آدرس قسمتی که بتونم این کار رو انجام بدم معرفی کنید .
    با تشکر فراوان از شما دوست عزیز ♥

      1. بله درست میفرمایید . ولی چند تا دولوپر دیدم که رام های با ورژن بالاتر رو برای گوشی های سامسونگ از یه سری گوشی های دیگه آوردن و رفع اشکال کردن و بهینه سازی کردن که رام های بسیار عالی اراِئه دادن .
        برای گوشی خودم که گفتم سامسونگ هست یکی پدا شده رام 6.0.1 داره آماده میکنه البته برای این مدل رام رسمی 5.0 بیشتر نیومده
        به همین خاطر دنبال یه راهی هستم که بتونم رام 7 رو بوت بگیرم و رفع باگ کنم تا بتونم از امکانات بسیار عالی و جدید که سامسونگ ارائه داده استفاده کنم .
        ضمنا خیلی سایت خوب و مفید و همچنین پر محتوا دارید و تا به حال مرجعی به این پر کاربردی ندیدم . براتون آرزوی بهترین ها رو دارم .

  10. سلام من تبلت نوت 8 مدل gtn5100 دارم ممیخوام رام تب a 8 مدل sm t385 رو براش روی بیس رام Official LineageOS 14.1 for GT-N51xx پورت کنم. تا حالا کسی این کارو نکرده من می خوام برای بار اول این کارو انجام بدم. مشخصات دوتا تبلت تقریبا شبیه همه . فقط رام استوکی که از تب sm t385 دانلود کردم 4 فایلی هست و نمی دونم چطور تبدل به فایل قابل فلشش کنم

    1. سلام شما باید برید پورت رام کاستوم رو بخونید رام کاستوم هم چهار فایل نیست..رام رسمی رو هم با برنامه زیپ باز کنید فایلهای بوت و سیستم رو می تونید ببینید

  11. ورژن اندروید هر دو رام 7.1.1 هست رام بیس lineageos 14.1 هست رام پورت تبلت سامسونگ tab a 2017 sm t385 هم ورزن 7.1.1 هست با رام پورتر2 اومدم پورت کنم ارور کپی کردن رام ها رو میده. خوشحال میشم راهنماییم کنید . خیلی ناراحتم تبلت به این قدرتمندی خیلی خیلی زود از رده خارج شد ولی تبلت های خیلی ضعیفتر سامسونگ با اندروید بالا تر وارد بازار شدن. این سیاست کثیف سامسونگ که به حقوق مصرف کننده احترام نمی گذاره و فقط به فکر جیب خودشه باعث شده از سامسونگ متنفر بشم. دم اپل گرم تا جایی که گوشیش کشش داشته باشه براش آپدیت می فرسته حالا می خواد مال 6 سال پیش باشه. ولی سامسونگ تا مدل جدید تر رو زد مدل قبلی رو مورد بی مهری قرار میده تا مشتری رو مجبور کنه بیاد سمت دستگاه جدید تر حالا می خواد اون مدل قبلی پرچمدارش باشه. من خودم به عینه دیدم پرچم دارش رو ول کرده ولی تا سه سال بعد گوشی های رده متوسط و ضعیفش رو چون جدید بودن با اندروید جدید داده در صورتی بعضیاشون ار همون روز اول کشش اون اندروید رو نداشتن

    1. سلام با این روش نه روشهای پورت دیگه رو تست کنید در سایت موجود هست سرچ کنید

      1. سلام ممنون از پاسخ گوییتون. ممنون میشم لینک مربوطه رو برام بفرستید آخه پیداش نمی کنم

  12. سلام. گوشی من HTC One m8 eye هست. تفاوتش با one m8 این هست که nfc و مادون قرمز نداره. متاسفانه هیچ کاستوم رامی برای این گوشی نیست و همه رام ها برای m8 معمولی هستن. من کاستوم رام m8 رو روی گوشیم فلش زدم که گوشیم دیگه بالا نیومد. حالا میخواستم یکی از کاستوم رام های m8 رو براش پورت کنم ولی متاسفانه من هیچ رام بیسی ندارم میخواستم بدونم میشه از طریق root explorer فایل های مورد نیاز برای پورت رو بدست آورد؟

  13. سلام
    من گوشی j510f دارم می خواستم روش یک رام اندروید ۱۰ با one ui پورت کنم.
    دقیقا باید چه کار هایی رو انجام بدم

  14. سلام من میخوام برای گوشی gt s7262 رام پورت کنم آیا میشه بیس رام را کاستوم رام انتخاب کنم؟

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا