mohsen8 815 ارسال شده در 8 اردیبهشت، 2017 اشتراک گذاری ارسال شده در 8 اردیبهشت، 2017 با سلام با آموزش پورت رام سامسونگ در خدمتتان هستیم حتما خیلی دیده اید که مثلا رام گوشی نوت 7 رو بر روی گلکسی اس 6 پورت کرده اند در این آموزش انجام چنین کاری را می دهیم این یک آموزش کلی می باشد پورت رامهای سامسونگ معمولا با خطاهای زیادی هست باید خوش شانس باشید که بدون خطا بوت بشه و کار کنه توضیحات اولیه: کرنل بخش اصلی کار هست بدون کرنل رام شما اصلا بوت نمی شود دیوایسی که بوت نمیشه برای فهمیدن اشکال موقع بوت باید لوگ گرفت پس یا کرنل کاستومی استفاده کنید که در حین بوت دیباگش فعال باشد یا از توسعه دهنده کرنل درخواست این کار را بکنید گاهی هم در حین بوت کرنل شناسای نمی شود که باید init.environ.rc. تغییرات اعمال بشه برای بوت فریمورک اگر هم نتوانستید لوگ در بوت کرنل بگیرید در محیط ریکاوری بعد از دو دقیقه کد زیر را وارد کنید >adb pull /data/tombstones adb کلید موفقیت هر پورتی می باشد با adb می توان لوگ گرفت و اشکالات را برطرف کرد از پست زیر در سایت برای دانلود adb و آموزش لوگ گرفتن استفاده کنید آموزش استفاده از adbو logcat حتما بعد از گرفتن لوگ با کدهای فراوانی رو به رو می شوید، برای گرفتن تنها لوگ خطاها از کد زیر استفاده کنید >adb logcat *:E > filename میریم برای توضیحات پورت اول از همه نیاز به فایل فریمور رسمی داریم که باید دانلودش کنید با آموزشهای موجود در سایت فریمور خود را استخراج کنید دیکامپایل و کامپایل فایلهای APK را نیز باید بلد باشید برای دئودکس کردن رام نیز از ابزار زیر استفاده کنید معرفی ابزار دئودکس Fulmics Deodexer اندروید 6 و 7 دو پوشه فایلهای Apps Priv-app و Framework را از بیس رام خود بردارید و دئودکس کنید یکجا نگهشون دارید پورت خود را نیز دئودکس کنید و Apps ،Framework و Priv-app را در بیس کپی کنید در اینجا با فایلهای services.jar, and framework.jar سر و کار داریم پس از دو رام پورت و بیش این فایلها را دیکامپایل و در پوشه های جدا میذاریم باید امضای برنامه ها را درست کنید تا نصب بشوند تغییراتی که نیاز هست بدهیم فایل core-libart.jar/smali/java/security/MessageDigest.smali را باز کیند در زیر .method public static isEqual([b[b)Z کدهای زیر را اضافه کنید >.registers 7 .param p0 # [b .param p1 # [b const/4 v2, 0x0 # change to const/4 v2, 0x1 array-length v3, p0 array-length v4, p1 فایل core-libart.jar/smali/java/security/Signature.smali را باز کنید در آخر کد .method public final verify([b)Z کد زیر را اضافه کنید >:cond_d invoke-virtual {p0, p1}, Ljava/security/Signature;->engineVerify([b)Z move-result v0 # change to const/4 v0, 0x1 return v0 .end method at the end of the method .method public final verify([bII)Z :cond_1e invoke-virtual {p0, p1, p2, p3}, Ljava/security/Signature;->engineVerify([bII)Z move-result v0 # change to const/4 v0, 0x1 return v0 .end method حالا در این مسیر فایل services/smali/com/android/server/pm/PackageManagerService.smali را باز کنید و تمام متود زیر را >.method static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature; )I به کد زیر تغییر بدهید >.method static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/ Signature;)I .locals 1 const/4 v0, 0x0 return v0 .end method فایل services.jar/smali/com/android/server/pm/PackageManagerService$InstallParams.smali را باز کنید در زیر کد .method private installLocationPolicy(Landroid/content/pm/PackageInfoLite; )I قرار دهید >and-int/lit16 v7, v7, 0x80 if-nez v7, :cond_61 iget v7, p1, Landroid/content/pm/PackageInfoLite;->versionCode:I iget v8, v3, Landroid/content/pm/PackageParser$Package;->mVersionCode:I if-ge v7, v8, :cond_61 # change to if-ge v8, v8, :cond_61 const-string v4, "PackageManager" new-instance v5, Ljava/lang/StringBuilder; invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V const-string v7, "Can\'t install update of " خوب با این کار برنامه ای که نصب نمی شود امضاش برداشته میشه و راحت نصب میشه برای راحتی کار دو برنامه را بهتون معرفی میکنم برنامه Winmerge که اجازه ادغام دو فایل را بهتون میده برنامه FileSeek برای جستجوی خطاها در فایلهای رام بریم برای چند نمونه عیب یابی در logcat بیشتر دنبال سه چیز باشیم(“E JavaBinder:”, “E art”, “E AndroidRuntime: FATAL EXCEPTION:”) در عیب یابی شروع خطا معمولا معلوم نیست پس ما از خطاهای Art استفاده می کنیم بعنوان نمونه اگر در logcat با خطایی زیر مواجه شدیم >"01-01 01:26:25.169 5599 7183 E JavaBinder: java.lang.NoSuchMethodError: No virtual method activityPauseTrigger(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Landroid/content/pm/ApplicationInfo;)V in class Lcom/android/internal/app/ActivityTrigger; or its super classes (declaration of 'com.android.internal.app.ActivityTrigger' appears in /system/framework/framework.jar:classes2.dex) " مکان خطا در framework jar Class2 می باشد activityPauseTrigger(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Landroid/content/pm/ApplicationInfo;)V is the missing info in the port smalis and > لوگ میکه که خطا جای در >Lcom/android/internal/app/ActivityTrigger; or the files with idential names to Activity trigger در این موارد خطا ممکن در فایلهای smali رام استوک باشد اینجا از برنامه win merge استفاده میکنیم و کل فایلهای را از استوک به پورت کپی میکنیم در صورتی که هم لوگ مکان فایلی که خطا داد را نشان نداد از برنامه fileseek استفاده می کنیم بعنوان نمونه >"01-01 00:24:17.509 7524 7539 E JavaBinder: java.lang.UnsatisfiedLinkError: No implementation found for void com.android.internal.app.ActivityTrigger.native_at_pauseActivity(java.lang.String) (tried Java_com_android_internal_app_ActivityTrigger_native_1at_1pauseActivity and Java_com_android_internal_app_ActivityTrigger_native_1at_1pauseActivity__Ljava_lang_String_2) در کد بالا باید دنبال چه چیز باشیم؟مکانش کجاست؟ خلاصه ترش میکنیم >com.android.internal.app.ActivityTrigger.native_at_pauseActivity(java.lang.String طبق جستجوی fileseek شاید نزدیک به 100 مورد مشابه باشه ولی فقط یک فایل کاملا شبیه می باشد >.method ActivityTrigger.native_at_pauseActivity پس با winmerge طبق مسیری که پیدا کردیم فایل smali را پاک و تمیز میکنیم یک نمونه خطا برای Runtime هم در زیر براتون مینویسم طبق لوگ زیر >"07-25 09:17:08.975 16379 16379 E AndroidRuntime: java.lang.NoSuchMethodError: No interface method setDataFromNSFLP(ILandroid/os/Bundle;)V in class Landroid/location/ILocationManager; or its super classes (declaration of 'android.location.ILocationManager' appears in /system/framework/framework.jar) باید در فایل framework بگردیم با برنامه file seek کد زیر را میگردیم و مراحل را مانند بالا انجام می دهیم >setDataFromNSFLP(ILandroid/os/Bundle;)V خوب بعد از بالا آمدن دستگاه نیز ممکن با مشکلاتی از قبیل بسته شدن برنامه ها رو به رو بشید ویرایش در هر فریمور متفاوت می باشد یادتان هست در بالا گفتم فایلهای سیستم استوک رو یجا نگه دارید اینجا بدرد می خورد پوشه McRegistry و فایل ffffffff0000000 را به رام خود انتقال بدید پوشه Fonts و فایل font در پوشه /etc را نیز انتقال بدید پوشه های ” preloadedmdm “, ” sipdb ” ” tts را از رام بوت شده خود پاک کنید و با پوشه های رام پورت شده جایگزین کنید پوشه Media را باز کنید پوشه Audio را پاک کنید و پوشه رام پورت را جایگزینش کنید در مسیر /etc/permission پوشه های ناقص را جایگزین میکنیم( برای فریمورهای 64 بیت به 32 بیت) فایلهای libs را از 64 به 32 جایگزین میکنیم فیکس مشکل مکان یابی فایل services.jar را دیکامپایل میکنید در مسیر services.jar\smali\com\android\server\location فایلهای smali را با برنامه Winmerge به پورت ادغام میکنیم همچنین فایل services.jar\smali\com\android\server\LocationMana gerService$xxx را از بیس به پورت کپی میکنیم فیکس بلوتوث و NFC دو فایل NFC.apk و Bluetooth.apk از بیس به رام پورت کپی کنید اگر بازم مشکل NFCداشت فایل PackageManagerService.smali را باز می کنید دنبال مدل NFC خود میگردید دنبال supportNfc باشید و مدل خود را جایگزین کنید( مثلا برای نوت 7 S3FWRN5 می باشد) لینک در پرتال سایت لینک ارسال
ALIILAPRO 27 ارسال شده در 14 اردیبهشت، 2017 اشتراک گذاری ارسال شده در 14 اردیبهشت، 2017 سلام خسته نباشید، من دو تا کاستوم رام دارم یکی نسخه 5.1.1 و یکی نسخه 6.0.1 نسخه آندروید ۵ برای گوشی خودم پورت شده ولی نسخه ۶ فقط برای سری F پورت شده نه H میخواستم چطور میشه خودم ابن رام رو پورت کنم.لطفا راهنمایی کنید Sent from my SM-J500H using Tapatalk aliilapro.ml bypassnet.ml لینک ارسال
mohsen8 815 ارسال شده در 14 اردیبهشت، 2017 مالک اشتراک گذاری ارسال شده در 14 اردیبهشت، 2017 سلام خسته نباشید، من دو تا کاستوم رام دارم یکی نسخه 5.1.1 و یکی نسخه 6.0.1 نسخه آندروید ۵ برای گوشی خودم پورت شده ولی نسخه ۶ فقط برای سری f پورت شده نه h میخواستم چطور میشه خودم ابن رام رو پورت کنم.لطفا راهنمایی کنید sent from my sm-j500h using tapatalk سلام دوست عزیز اگر گوشی شما سامسونگ که طبق آموزش پیش برید اگر کاستوم رام موجود براتون فقط در f و h اختلاف هست با ریکاوری از بخش سیستم بکاپ بگیرید و رایت کنید در بیشتر مواقع جواب میده فقط دقت کنید ورژن اندروید رام یکی باشه لینک ارسال
ALIILAPRO 27 ارسال شده در 14 اردیبهشت، 2017 اشتراک گذاری ارسال شده در 14 اردیبهشت، 2017 سلام دوست عزیز اگر گوشی شما سامسونگ که طبق آموزش پیش برید اگر کاستوم رام موجود براتون فقط در f و h اختلاف هست با ریکاوری از بخش سیستم بکاپ بگیرید و رایت کنید در بیشتر مواقع جواب میده فقط دقت کنید ورژن اندروید رام یکی باشه سلام ممنون از پاسختون ? بله گوشی من سامسونگ هست J500h رامی که میگم فقط برای سری F پورت شده بعد طبق گفته شما من رام رو نصب کنم و از ریکاوری بک اپ بگیرم و بعد رایت کنم، متوجه نمیشم میشه ی مقدار توضیح بیشتر بدید. ممنون Sent from my SM-J500H using Tapatalk aliilapro.ml bypassnet.ml لینک ارسال
mohsen8 815 ارسال شده در 14 اردیبهشت، 2017 مالک اشتراک گذاری ارسال شده در 14 اردیبهشت، 2017 رام مدل f رو بگیر بازش کن فقط سیستم رو از ریکاوری نصب کن ...خودتون باید تست کنید قبل این کار هم بکاپ بگیرید از رام فعلیتون...یا از رام فعلیتون efs و جاهای دیگر و روبکاپ بگیرید رام رو کامل فلش کنید بعد بکاپ بقیه قسمتها را ریستور و فکتوری رسیت کنید البته روش صددرصدی نیست نشد باید با آموزشی که گذاشتم رام بسازید که زمان بره لینک ارسال
rezama 10 ارسال شده در 15 مرداد، 2018 اشتراک گذاری ارسال شده در 15 مرداد، 2018 سلام وقتتون بخیر بنده مدل گوشیم (S6 edge plus (G928T هست و الان اندرویدش هم 7 هست میخواستم بپرسم آیا میتونم رام S8 edge plus با نسخه اندروید 7 را براش پورت کنم چون رام اصلی گوشیم زبان فارسی نداره و همچنین برنامه های خوده اپراطور هم توش هست با تشکر از زحماتتون لینک ارسال
ارسال های توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.