-
تعداد ارسال ها
1,301 -
تاریخ عضویت
-
آخرین بازدید
-
روز های برد
68
نوع محتوا
نمایه ها
تالارهای گفتگو
بخش دریافت
گالری
فروشگاه
تقویم
تمامی مطالب نوشته شده توسط mohsen8
-
سلام داداش یه پیام خصوصی دادم خدمتتون جواب ندادید میتونید در تلگرام بنده نیز جواب بدید ممنون
-
لینوکس آموزش پورت رامهای اندروید 5 و6 برای تمام دستگاهای کوالکام
mohsen8 پاسخی برای mohsen8 ارسال کرد در موضوع : مقالات و آموزش های توسعه رامهای اندروید
سلام دوست عزیز خیر باید یکی باشه ورژن اندروید -
لینوکس آموزش ساخت رام LineageOS 14.1
mohsen8 پاسخی برای mohsen8 ارسال کرد در موضوع : مقالات و آموزش های توسعه رامهای اندروید
پستتون رو ندیده بودم شرمنده شما همون کد گوشی که میشه j500h -
آموزش پورت رامهای سامسونگ به سامسونگ
mohsen8 پاسخی برای mohsen8 ارسال کرد در موضوع : مقالات و آموزش های توسعه رامهای اندروید
رام مدل f رو بگیر بازش کن فقط سیستم رو از ریکاوری نصب کن ...خودتون باید تست کنید قبل این کار هم بکاپ بگیرید از رام فعلیتون...یا از رام فعلیتون efs و جاهای دیگر و روبکاپ بگیرید رام رو کامل فلش کنید بعد بکاپ بقیه قسمتها را ریستور و فکتوری رسیت کنید البته روش صددرصدی نیست نشد باید با آموزشی که گذاشتم رام بسازید که زمان بره -
آموزش پورت رامهای سامسونگ به سامسونگ
mohsen8 پاسخی برای mohsen8 ارسال کرد در موضوع : مقالات و آموزش های توسعه رامهای اندروید
سلام دوست عزیز اگر گوشی شما سامسونگ که طبق آموزش پیش برید اگر کاستوم رام موجود براتون فقط در f و h اختلاف هست با ریکاوری از بخش سیستم بکاپ بگیرید و رایت کنید در بیشتر مواقع جواب میده فقط دقت کنید ورژن اندروید رام یکی باشه -
لینوکس آموزش پورت رامهای اندروید 5 و6 برای تمام دستگاهای کوالکام
mohsen8 پاسخی برای mohsen8 ارسال کرد در موضوع : مقالات و آموزش های توسعه رامهای اندروید
سلام دوست عزیز الان شما دو جا سوالتون رو پرسیدید در دو آموزش متفاوت این بخش آموزش برای دستگاهای کوالکام پورت از بیس aosp هست اون بخش دیگه هم فقط برای سامسونگ بود حالا شما گوشیتون چیه و از چه گوشی میخواید پورت کنید؟ در تایپیک مرتبط به رام و پردازنده خود سوال رو بکنید که بشه بهتر راهنمایی کرد -
لینوکس آموزش پورت رامهای اندروید 5 و6 برای تمام دستگاهای کوالکام
mohsen8 پاسخی ارسال کرد برای یک موضوع در مقالات و آموزش های توسعه رامهای اندروید
با یک آموزش پورت دیگه در خدمتتون هستیم این آموزش کلی و شامل تمام دستگاهای دارایی پردازنده کوالکام می شود در این آموزش منظور از پورت رامی که می خواهید پورت کنید منظور از بیس رام نیز رامی که اکنون روی دستگاه شما اجرا می شود در مرحله اول بیس را در یک پوشه استخراج کنید(cm یا AOSP ) رام پورت را نیز در یک پوشه استخراج کنید فایلهای زیر را نیز دانلود کنید Download فایلها را درون دو پوشه بیس و پورت بگذارید فایلهای که دارید >boot.img file_contexts META-INF system.new.dat (compressed /system) system.patch.dat system.transfer.list آموزش بر روی اوبنتو می باشد باید فایل dat را به ext4 imgتغییر بدیم ترمینال را باز کنید و کد زیر را وارد کنید >./sdat2img.py system.transfer.list system.new.dat system.img حالا ext4 img را استخراج میکنیم فایل system.img را مونت کنید با کد زیر >sudo mount -t ext4 -o loop system.img output/ اکنون فایل آماده می باشد همین کار را برای پورت رام نیز انجام بدهید آغاز پورت رام پوشه های زیر را از بیس پاک کنید >base/system/app base/system/fonts base/system/framework base/system/media base/system/priv-app پوشه های زیر را از پورت به بیس کپی کنید >port/system/priv-app port/system/app port/system/fonts port/system/framework port/system/media فایلهای مهم زیر را کپی کنید >port/system/etc/permissions platform.xml handheld_core_hardware.xml handheld_hardware.xml و در مسیر /base/system/etc/permissions کپی کنید اکنون به مسیر port/system/etc/init.d بروید کپی کنید >00banner در مسیر base/system/etc/init.d فایل build.prop را در هر دو پورت و بیس باز کنید خطهای زیر را از پورت به بیس تغییر بدهید >ro.build.id= ro.build.display.id= ro.build.version.release= ro.product.model= ro.config.ringtone= ro.config.notification_sound= ro.config.alarm_alert= بریم برای مرحله آخر مرحله آخر پورت به مسیر metainf/com/google/android بروید فایل updater-script را باز کنید کد زیر را می توانید اضافه کنید >ui_print (" ur text"); ذخیرش کنید در مرحله آخر باید فایل رو دوباره بسازیم با کد زیر آن را به img تبدیل می کنیم >./make_ext4fs -T 0 -S file_contexts -l 1073741824 -a system system_new.img output/ اکنون فایل system_new.img خود را می بینید حالا باید فرمت فایل را به dat. تغییر دهیم کد زیر را وارد کنید >./rimg2sdat my_new_system.img فایل system.new.dat ساخته می شود فایل را زیپ کنید و فلش تمام لینک آموزش در پرتال سایت -
آموزش پورت رامهای سامسونگ به سامسونگ
mohsen8 پاسخی ارسال کرد برای یک موضوع در مقالات و آموزش های توسعه رامهای اندروید
با سلام با آموزش پورت رام سامسونگ در خدمتتان هستیم حتما خیلی دیده اید که مثلا رام گوشی نوت 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 می باشد) لینک در پرتال سایت -
ویندوز معرفی ابزار دئودکس Fulmics Deodexer اندروید 6 و 7
mohsen8 پاسخی ارسال کرد برای یک موضوع در مقالات و آموزش های توسعه رامهای اندروید
برای پورت رام یا ساخت رام باید آن ار دئودکس کرد یک ابزار بروز دئودکس را امروز به شما معرفی میکنیم نام این ابزار Fulmics Deodexer می باشد که تحت ویندوز می باشد این برنامه بر اساس باینریهای baksmali و smali تمام فایلهای *.odex و *.oat در سیستم را دئودکس می کند برای اجرای برنامه نیاز به نصب بودن .NET Framework 4.5 و جاوا دارید همچنین نصب بودن Baksmali/Smali از ورژن 2.2 به بالا راهنمایی استفاده از برنامه برنامه را اجرا کرده به تنظیمات بروید و مسیر فایلهای baksmali/smali را به برنامه بدهید پوشه ای که می خواهید دئودکس کنید را انتخاب کنید بر روی دئودکس کلیک کنید برای دانلود ابزار Fulmics Deodexer از لینک زیر استفاده کنید لینک دانلود لینک در پرتال سایت -
حل مشکل نگرفتن ریکاوری یا روت گوشی های 2016 ساسونگ حتی با غیر فعال بودن frp
mohsen8 پاسخی برای masterjuint ارسال کرد در موضوع : تعمیرات و مباحث نرم افزاری
فلش که میگیره فقط کاستوم باینری نمیگیره مثل همون frp امروز یکی داشتم مشکل داشت با فعال بودن همین بوتلودر فایل کامبنیشن زدم و فریمور رسمی هم بعدا با برنامه راحت آنلاک کردم -
لینوکس آموزش ساخت رام LineageOS 14.1
mohsen8 پاسخی ارسال کرد برای یک موضوع در مقالات و آموزش های توسعه رامهای اندروید
با سلام خدمت تمامی همراهان همیشگی Gsm-Developers با یک آموزش به روز در خدمتتان هستم همان طور که میدانید سیانوژن به LineageOS تغییر نام داده است ما آموزش ساخت کامل رام کاستوم را داریم در سایت با آموزشهای مرتبط اما گفتم یک آموزش کامل براتون بزارم با ساخت جدیدترن نسخه این رام پرطرفدار در این آموزش گوشی مورد استفاده برای ساخت رام گوشی OnePlus 3 می باشد(گوشی خود بنده) میشه گفت OnePlus 3 اکنون یکی از پرطرفدارترین گوشیها برای توسعه دهندگان است تقریبا از این آموزش می شود برای تمام دستگاهای دیگر نیز استفاده کرد توصیه های اولیه ساخت رام بر روی سیستم عامل اوبونتو 64 بیتی می باشد اگر می خواهید اذیت نشوید و زیاد منتظر نمانید از سیستم قدرتمندی استفاده کنید نیاز به 100 تا 150 گیگ فضای خالی صبر و حوصله فراوان به خصوص اگر اولین بارتان می باشد توصیه می شود از هارد SSD استفاده کنید سعی کنید اگر می شود با ماشین مجازی رام را درست نکنید(در کنار ویندوز لینوکس نصب کنید) آماده سازی سیستم آخرین ورژن ماشین مجازی را دانلود و نصب کنید: ماشین مجازی آخرین نسخه اوبونتو را نیز دانلود کنید: دانلود اوبونتو اگر شما اکنون اوبونتو را نصب دارید این مرحله را رد کنید راه اندازی ماشین مجازی بعد از نصب ماشین مجازی آنرا اجرا کرده بر روی New بزنید و یک نام انتخاب کنید لینوکس را انتخاب و بر روی اوبونتو 64 بزنید مقدار رم برای ماشین مجازی را انتخب کنید(نصف کل رم سیستم یا اگر بشود بیشتر اختصاص دهید) بر روی گزینه Create a virtual hard disk now کلیک کنید و Create بزنید در صفحه جدید چیزی را تغییر ندهید فقط مقدار حافظه را انتخاب کنید(100 گیگ به بالا انتخاب کنید) اکنون در بالا سمت چپ بر روی Settings کلیک کنید بر advanced کلیک کنید و دو گزینه Shared clipboard و Drag’n’Drop بر روی bidirectional تنظیم کنید در زیر system بر روی Processor بزنید و بیشترین مقداری که سبز رنگ شود را انتخاب کنید در زیر حافظه بر روی دیسک خالی کلیک کنید آیکون دیسک در سمت راست را انتخاب کنید گزینه Choose virtual optical disc file را انتخاب و ایمیج اوبونتوی که دانلود کردید را بدهید تمام ماشین مجازی ما آماده شد نصب اوبونتو در ماشین مجازی ماشین مجازی را اجرا کرده بر روی Install Ubuntu کلیک کنید دو گزینه موجود را بزنید و ادامه دهید گزینه های پیش فرض را در جلو انتخاب کنید تا به انتخاب زبان و کیبورد برسید بعد از آن نام کامپیوتر را انتخب کنید و اگر دوست داشتید رمز بگذارید بر روی Log in automatically کلیک کنید برای ذخیره وقت بهتر در آینده بعد از آن نصب شروع می شود منتظر بمانید تا کامل نصب شود بعد از اتمام نصب ریستارت کنید و وقتی درخواست برداشتن ایمیج را کرد اینتر بزنید تمام ماشین مجازی شما آماده شد آماده سازی سیستم عامل برای ساخت رام تریمنال را باز کنید و کد زیر را وارد کنید >sudo apt-get update اگر رمز دارید ازتون میپرسه واردش کنید بعد از اون کد زیر را وارد کنید >sudo apt-get upgrade با کدهای بالا برنامه های شما بروز میشوند.اگر سوال پرسید Y بزنید با کد زیر پکیج کامل برای ساخت LineageOS 14.1 را نصب کنید >sudo apt-get install bison build-essential curl flex git gnupg libesd0-dev liblz4-tool libncurses5-dev libsdl1.2-dev libxml2 libxml2-utils lzop maven pngcrush schedtool squashfs-tools xsltproc zip zlib1g-dev bc ccache automake lzop gperf zlib1g-dev g++-multilib gcc-multilib lib32ncurses5-dev lib32readline6-dev lib32z1-dev python-networkx libxml2-utils bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev squashfs-tools schedtool dpkg-dev liblz4-tool make optipng libwxgtk3.0-dev openjdk-8-jdk تاییدش کنید طبق سرعت اینترنت شما زمان میبرد نصب کد زیر را وارد کنید برای ساخت مکان ذخیره سازی جدیدترین بیلدهایLineageOS >mkdir -p ~/bin یک پوشه کار هم درست میکنم برای رام >mkdir -p ~/android/system برای دانلود دستورات repo کد زیر را وارد کنید >curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo اجازه دسترسی به دستورات را هم می دهیم با کد زیر >chmod a+x ~/bin/repo تا اینجا سیستم آمادست راه اندازی git قبلا در ساخت رام کامل توضیح داده شده این قسمت ما بر اساس ثبت نام شما و داشتن یوزر توضیحات را میدهیم کد زیر را وارد کنید برای نام و رمز ورود >git config --global user.name "YOUR USERNAME" git config --global user.email [email protected] برای اطمئنان از مکان repo کد زیر را وارد کنید >cd ~/android/system/ اینم تمام شد همگام سازی و دانلود سوری برای دانلود سورس و تنظیم repository کد زیر را وارد کنید >cd ~/android/system/ repo init -u https://github.com/LineageOS/android.git -b cm-14.1 و بعد از آن کد زیر >repo sync اینجاست که باید اینترنت خوبی داشته باشید تا سورس کامل LineageOS 14.1 بر روی کامپیوتر شما دانلود شود توصیه میشه شب بزارید تا صبح اگه بعدا نیاز به اپدیت داشتید کد ~/android/system را وارد کنید تا اینجای کار مراحلی که توضیح دادم برای تمامی دستگاها می باشد ساخت LineageOS 14.1 از منبع برای وانپلاس 3 از این مرحله به بعد مختص گوشی وانپلاس 3 می باشد به پوشه کار خود بروید و کد زیر را وارد کنید >cd ~/android/system source build/envsetup.sh breakfast oneplus3 گاهی این کد به خوبی اجرا نمی شود برای خطا نگرفتن کد زیر را اجرا کنید >nano ~/android/system/.repo/local_manifests/roomservice.xml باید مانند زیر بشود ><?xml version="1.0" encoding="UTF-8"?> <manifest> <project name="LineageOS/android_device_oppo_common" path="device/oppo/common" remote="github" revision="cm-14.1" /> <project name="LineageOS/android_device_qcom_common" path="device/qcom/common" remote="github" revision="cm-14.1" /> <project name="TheMuppets/proprietary_vendor_oneplus" path="vendor/oneplus" remote="github" revision="cm-14.1" /> <project name="LineageOS/android_device_oneplus_oneplus3" path="device/oneplus/oneplus3" remote="github" revision="cm-14.1" /> <project name="LineageOS/android_kernel_oneplus_msm8996" path="kernel/oneplus/msm8996" remote="github" revision="cm-14.1" /> <project name="LineageOS/android_external_sony_boringssl-compat" path="external/sony/boringssl-compat" remote="github" revision="cm-14.1" /> <project name="LineageOS/android_external_stlport" path="external/stlport" remote="github" revision="cm-14.1" /> <project name="LineageOS/android_vendor_nxp-nfc_opensource_Nfc" path="vendor/nxp-nfc/opensource/Nfc" remote="github" revision="cm-14.1" /> <project name="LineageOS/android_vendor_nxp-nfc_opensource_frameworks" path="vendor/nxp-nfc/opensource/frameworks" remote="github" revision="cm-14.1" /> <project name="LineageOS/android_vendor_nxp-nfc_opensource_libnfc-nci" path="vendor/nxp-nfc/opensource/libnfc-nci" remote="github" revision="cm-14.1" /> <project name="TheMuppets/proprietary_vendor_qcom_binaries" path="vendor/qcom/binaries" remote="github" revision="cm-14.1" /> </manifest> اکنون Ctrl+X را بزنید و با Y تایید کنید و اینتر بزنید دوباره کد ساین را وارد کنید تا تکه های باقیمانده از سورس کامل شوند >repo sync با کد بالا repositories جدید دانلود می شوند فعال کردن کش برای سرعت بخشیدن به ساخت رام خوب اینجاست که هارد زیادی بالایی 100 گیگ که گفتم به دردتون میخوره با اجرای کد زیر 50 گیگ رو به کش اختصاص میدیم که سرعت ساخت بره بالا >export USE_CCACHE=1 prebuilts/misc/linux-x86/ccache/ccache -M 50G تبریک 50 گیگ کش فعال شد اختصاص مقدار رم برای ساخت این مرحله را فقط در صورتی اجرا کنید که خطای your build fails گرفتید کد زیر را وارد کنید >cd ~/android/system export JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx8g" ./prebuilts/sdk/tools/jack-admin kill-server ./prebuilts/sdk/tools/jack-admin start-server در خط دوم کد رقم 8 مقدار رم می باشد با مقدار رم اختصاص داده شده به ماشین مجازی یا سیستم خود عوضش کنید ساخت رام کد زیر را وارد کنید >cd ~/android/system/ brunch oneplus3 و به همین سادگی کار ساخت رام شروع می شود منتظر بمانید تا تمام شود در آخر کد زیر را وارد کنید >cd $OUT بعد از آن می توانید رام خود را ببینید تبریک از رام خود لذت ببرید لینک در پرتال سایت