در این آموزش چگونگی پورت رامهای سازندهای مختلف مانند Sense / TouchWizz / Motoblur و غیره را آموزش می دهیم،این آموزش ساده هست و آسان ولی ممکن هست رامی که آماده می کنید بازم دارایی باگهای باشد.
در این آموزش نمونه ما پورت یک رام برای گوشی Nexus S می باشد.
موارد مورد نیاز
- اوبنتو و آشپزخانه اندروید
- برنامه Notepad++
- برنامه Winrar
قبل از شروع کار باید بدونید که رام دستگاهی که می خواهید از آن پورت کنید باید از نظر سخت افزاری شبیه به هم باشند برای هر چه کمتر شدن باگهای رامتون سعی کنید از یک رزولوشن،یک سی پی یو باشند.
شروع کار برای پورت رام
- یک پوشه درست کنید و نام آن را رام پورت شده نام دستگاهتون
- رام aospیا cm مختص موبایل خودتون که ورژن اندروید آن با رامی که میخواهید پورت کنید یکی باشد.
- دانلود رامی که می خواهید پورت کنید.
- هر دو رام را در پوشه ای که در مرحله اول ساختید استخراج کنید.
اکنون دو پوشه داریم هر دو را باز کنید در رام پورت پوشه META-INF را پاک کنید و از بیس رام خود همین پوشه را به رام پورت کپی کنید.
پوشه سیستم را در رام پورت باز کنید و پوشه vendor را پاک کنید.
اکنون در پوشه پورت فایلهای زیر را پاک کنید.
- modules
- hw
- egl
به پوشه بیس بروید و پوشهای زیر را اگر وجود داشتند در پوشه سیستم رام پورت شده کپی کنید فقط کپی کنید چیزی را جایگزین نکنید.
پوشه 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 را از پورت به بیس انتقال بدهید بعد از انتقال فایل را به حالت اول برگردانید و فرمت زیپ را از آن بردارید.
[toggle title=”تذکر” load=”show”]دقت داشته باشید که ممکن هست بعضی فایلها در بعضی رامها وجود نداشته باشند به نسبت گوشی متفاوت هستن در این مواقع شما باید به سایت github.com/themuppets بروید و اگر موبایل شما دارایی cm رسمی باشد فایلها را از آنجا دانلود وکپی کنید در پوشه پورت خود.[/toggle]
فایل 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 در رام خود استفاده کنید.
راه حل بعضی از مشکلات هنگام پورت
برای حل مشکلاتی که در رام بوجود می آید می توانید فایلهای زیر را اگر وجود داشتند در رام پورت شده کپی کنید.
- 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
هر گونه کپی برداری بدون ذکر منبع حرام و مورد پسند نویسنده نمی باشد.
سلام
واقعا مطلبتون عالی و مختصر نوشته شده
فقط من 2 سوال دارم
1- فایل notification bar ( یا همون پنل اعلان) اسمش چی هس تو رام های سامسونگ؟ چون میخوام استاتوس بار رو تغییر بدم
2-شما نوشتید فایل بوت رو کامپایل کنید. من چجوری کامپایل کنم؟ برنامه برای کامپایل میخواد؟
خیلی ممنون
سلام دوست عزیز
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/