بکتوری

از همان ابتدای توسعه‌ی اندروید، توسعه‌دهندگان ایرانی با مشکل تحریم شدن ایران از طرف گوگل مواجه بوده‌اند. این تحریم بیشترین تاثیر خود را در بارگیری بسته‌های توسعه‌ی اندروید از طریق SDK Manager می‌گذاشت. با فراگیر شدن مخزن jCenter برای بارگذاری کتابخانه‌های متن باز اندروید، مشکل بارگیری این کتابخانه‌ها نیز به مشکلات قبلی اضافه شده است. علاوه بر آن، توسعه دهندگان یونیتی نیز برای دسترسی به سایت unity3d.com و تمام مشتقات آن مانند بخش مستندات و فروم با این قبیل مشکلات مواجه اند.

اکنون بکتوری با ارائه‌ی یک proxy server قصد دارد تا دردی از دردهای توسعه دهندگان ایرانی را دوا کند! تنها با تنظیم کردن آدرس ip و port می‌توانید به راحتی از سایت‌هایی مانند developer.android.com ،developer.google.com و www.unity3d.com بازدید و از dl.google.com و bintray.com/jcenter بارگیری کنید. این proxy server تنها برای تعداد خاصی از آدرس‌ها عمل می‌کند. لیست کامل این سایت‌ها را می‌توانید در اینجا پیدا کنید.

روش استفاده

پروکسی سرور بکتوری به آدرس fod.backtory.com و پورت 8118 قابل دسترسی است. شما میتوانید proxy server را روی سیستم عامل یا مرورگر خود پیکربندی کنید. چنانچه تنظیمات را روی سیستم عامل اعمال کنید، مرورگر شما برای تمامی عملیات از این تنظیمات استفاده خواهد کرد. برای پیکر بندی پروکسی روی Windows از این لینک و روی Mac از این لینک می‌توانید استفاده کنید. اما پیشنهاد ما استفاده از FoxyProxy است که به شما اجازه می‌دهد در مرورگر به راحتی بین proxyهایی که تعریف کرده اید، سوییچ کنید. پلاگین FoxyProxy برای Edge ،Opera ،Safari ،FireFox ،Chrome و IE موجود است. در این لینک نحوه نصب و کار با FoxyProxy برای مرورگرهای مختلف ذکر شده است.

هم‌چنین می‌توانید پروکسی بکتوری را روی SDK Manager اندروید پیکربندی کنید. برای این‌کار، در Windows برنامه‌ی SDK Manager.exe را اجرا کنید، از منوی Tools قسمت Options را انتخاب کنید و آدرس و پورت گفته شده را وارد کنید. هم‌چنین در Mac برنامه‌ی SDK Manager را به صورت stand-alone اجرا کرده، از منوی Android SDK Manager قسمت Preferences را انتخاب کنید و در پنجره‌ی باز شده، آدرس و پورت گفته شده را وارد کنید. چنانچه از SDK Manager خود Android Studio استفاده می‌کنید، در تنظمیات IDE به Appearance & Behavior -> System Settings -> Http Proxy رفته و آدرس و پورت را وارد کنید.

اندروید استودیو زمان sync کردن پروژه این امکان را به شما می‌دهد که تنظیمات پروکسی IDE را برای gradle نیز استفاده کنید. اما این تنظیمات را در gradle.properties اعمال می‌کند. پیشنهاد ما این است که این تنظیمات را از این فایل در پروژه برداشته و در فایل gradle.properties که در پوشه‌ی home شما در زیر پوشه‌ی gradle. قرار دارد، وارد کنید تا برای همه‌ی پروژه‌ها اعمال شود. (در صورتی که فایل gradle.properties در مسیر گفته شده وجود ندارد، آن را ایجاد کنید.)


موافقین ۱ مخالفین ۰ ۹۶/۰۳/۳۱
محمد مصباح

نظرات  (۳۸)

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

ممنون از شما
پاسخ:
با سلام. ممنون از لطف شما
۱) بکتوری یک سرویس ابری است که امکاناتی سمت سرور از قبیل دیتابیس، ذخیره‌ی فایل، اجرای رقابت آن‌لاین و ... به برنامه‌نویسان موبایل ارائه می‌کند. پیشنهاد می‌کنم به صفحه‌ی هزینه‌های سایت بکتوری مراجعه کنید تا ابهامات‌تون در مورد نحوه‌ی درآمد ما برطرف بشه.
و اما در راستای ارائه‌ی خدمات ابری و جلب هرچه بیشتر رضایت مشتری و هم‌چنین تبلیغ محصول، سرویس‌های جانبی این چنینی هم ارائه می‌کنیم که البته خیلی زیاد نیستند و به نسبت بار سنگینی برای ما ایجاد نمی‌کنند. در همه جای دنیا چنین محصولات رایگانی توسط شرکت‌های این حوزه ارائه می‌شوند که تضادی با پلن اقتصادی‌شان ایجاد نمی‌کنند.
در رابطه با حریم خصوصی نیز بکتوری تضمین می‌کند که اطلاعات خصوصی هیچ کاربری را ذخیره نمی‌کند. البته طبعا دسترسی به اطلاعات کلی از جمله تعداد کاربران فعال و تعداد ریکوئست‌ها و ... در تضاد با حریم خصوصی افراد نیست و ما سعی می‌کنیم تحلیل‌های کاربردی و جامعی از این اطلاعات به دست آوریم.
۲) سرویس معرفی شده یک پروکسی معمولی است و اگرچه فعلا قصد بر این است که پروژه را متوقف نکنیم، اما بر فرض هم که در شرایط خاصی مجبور به این کار بشویم، هزینه‌ی هنگفتی برای توسعه‌دهندگان به بار نمی‌آورد. (تنها عوض کردن پروکسی‌شان به دوش آنان می‌افتد!) بنابراین استفاده از این پروژه ریسک خاصی برای شما ندارد.
موفق باشید.
۰۸ تیر ۹۶ ، ۱۷:۲۷ عرفان کردکرودی
امیدوارم در صنعت بازی سازی و توسعه ی اپلیکیشن ایران تاثیر مثبت بذاره 
۱۸ تیر ۹۶ ، ۰۹:۲۷ میلاد جلالی
❤ سپاس 
سلام و خداقوت
نمی دونید با این کار چه کمک بزرگی کردید.
فقط یه سوال داشتم.
یه بنده خدایی میگفت که اگه گردوشکن روی سیستمت نصب کنی، احتمال اینکه از طریق اون، سیستمت ویروسی شه زیاده...
حالا من نگرانم که اگه از این پراکسی شما استفاده کنم، از طریق سرور شما ،یه وقت سیستم من ویروسی نشه ؟!؟!؟
لطفا راهنماییم کنید...
باز هم ممنون بابت این حرکت عالییییییی
۰۴ مرداد ۹۶ ، ۱۸:۰۱ یه برنامه نویس
سلام
لطفا https://developer.vuforia.com رو هم قرار بدین توی لیستتون...
تشکر
با سلام و تشکر واسه سرویس خوبتون
آیا راهی هست که در ادارات و دانشگاه‌ها و دیگر جاهایی که پروکسی برای اتصال به اینترنت نیاز هست هم از این سرویس استفاده کرد؟
سلام
بروکسیتون با jcenter مشکل داره !
Error:Could not resolve all files for configuration ':app:debugCompileClasspath'.
> Could not resolve com.android.support:appcompat-v7:26.1.0.
  Required by:
      project :app
   > Could not resolve com.android.support:appcompat-v7:26.1.0.
      > Could not parse POM https://dl.google.com/dl/android/maven2/com/android/support/appcompat-v7/26.1.0/appcompat-v7-26.1.0.pom
         > Already seen doctype.
   > Could not resolve com.android.support:appcompat-v7:26.1.0.
      > Could not get resource 'https://jcenter.bintray.com/com/android/support/appcompat-v7/26.1.0/appcompat-v7-26.1.0.pom'.
         > Could not HEAD 'https://jcenter.bintray.com/com/android/support/appcompat-v7/26.1.0/appcompat-v7-26.1.0.pom'.
            > Connect to jcenter.bintray.com:443 [jcenter.bintray.com/108.168.243.150] failed: Connection timed out: connect
> Could not resolve com.android.support.constraint:constraint-layout:1.0.2.
  Required by:
      project :app
   > Could not resolve com.android.support.constraint:constraint-layout:1.0.2.
      > Could not parse POM https://dl.google.com/dl/android/maven2/com/android/support/constraint/constraint-layout/1.0.2/constraint-layout-1.0.2.pom
         > Already seen doctype.
   > Could not resolve com.android.support.constraint:constraint-layout:1.0.2.
      > Could not get resource 'https://jcenter.bintray.com/com/android/support/constraint/constraint-layout/1.0.2/constraint-layout-1.0.2.pom'.
         > Could not HEAD 'https://jcenter.bintray.com/com/android/support/constraint/constraint-layout/1.0.2/constraint-layout-1.0.2.pom'.
            > Connect to jcenter.bintray.com:443 [jcenter.bintray.com/108.168.243.150] failed: Connection timed out: connect
این پروکسی امروز چک کردم کار نمیکنه
با سلام و تشکر بابت سرویس خوبتون.چند روزی است که از کار افتاده.در صورت امکان علت را توضیح بفرمایید
خداوند خیرتان دهد ننه 
نمی دونی داشتم برنامه نویسی اندروید رو می زاشتم کنار
اصلا سایتتون بالا نمیاد چرا؟؟؟
با سلام و تشکر بابت سرویس های خوبتون
به نظر میاد این پروکسی با خیلی از منابع HTTPS مشکل داره ... لطفا یه بررسی کنید
تشکر
۰۷ بهمن ۹۶ ، ۱۴:۱۳ علی ابراهیمی
با عرض سلام وخسته نباشید و خدا قوت

سرویس خوبی راه انداختید و از این بابت تشکر می کنم
ولی اگه بجای اینکه برای یه لیست خاص کار کنه برای تمامی سایت ها کار کنه و کلاینت نخواد منطق لیست رو در سمت خودش پیاده سازی کنه و شما در سرور انجام بدید، بهتر نیست؟؟
می دونم یه کم برای شما سنگینه، ولی شما که سروراتون داخله و همچنین مشکل سایت های فیلتر شده (از طرف داخل) رو ندارید.
من می خواستم از خدمات سایت شما استفاده کنم ولی وقتی دیدم این بخش سایت شما قطع و وصل میشه متاسفانه قید کار با سایت شما را زدم
۱۷ بهمن ۹۶ ، ۲۲:۳۲ سیدمحمدرضا
کار نمیکنه برادر ....
۰۳ اسفند ۹۶ ، ۲۰:۱۵ محمد ناصری
آقا دمتوت گرم واقعآ کارتون عالیه بابت این تحریم ها خیلی اذیت شدیم 100 تا روش تست کردیم جواب نداد ولی این
روش شما جواب داد و براحتی گرادل سینک شد.
ممنون
من امتحان کردم کار نکرد

این سرویس نشان دهنده خرفه ای بودن تیم شماست

این یعنی اومدین برای تغییر

خسته نباشین


سلام. 
نمی تواند از سایت https://dl.google.com/dl/android/maven2 دانلود کند. لطفا بررسی فرمایید.
سلام،

ضمن خدا قوت، یک راه خیلی ساده‌تر هم وجود داره: سرور DNS رو به مقداری که توی https://shecan.ir گفته شده تغییر بدید و تمام.

یکی از خوبی‌هاش این هست که استفاده‌اش هم روی کلاینت و هم روی سرور راحت هست و فقط با همین یک تغییر و بدون نیاز به تنظیمات اضافه‌تر خاص مرورگرها یا IDEهای مختلف، و بدون تأثیر منفی روی سرعت اینترنت همهٔ تحریم‌ها دور می‌خورند.

به هر حال کار بکتوری هم قابل تقدیر هست و همیشه داشتن بیش از یک راه، خوبه. موفق باشید.
با سلام
در اندروید استدیو 3.1.2  تنظیمات بالا رو انجام دادم ولی متأسفانه جواب نداد.
مثلا پکیج زیر رو نمیتونه دریافت کنه.
 https://dl.google.com/dl/android/maven2/com/android/support/support-compat/27.0.2/support-compat-27.0.2.aar 
ها یارو با این با این با این
خوب بود
واقعا کار بزرگی کردید...دستتون درد نکنه.
من به هه دوستانم پیشنهاد میکنم از سرویس شما استفاده کنن.
واقعا دستتون درد نکنه 

من پروکسی را روی خود android studio تنظیم کردم اما یک مشکلی در نصب برخی موارد دارم که خطای زیر را می دهد. لطفا راهنمایی فرمایید.

 
SSL peer shut down incorrectly
, response: 200 OK.
واقعا دستتون درد نکنه بنده مستقیما رو اندروید استدیو اعمال کردم

برای این کار فقط کافی تو بخش تنظیمات اندروید استدیو کلمه پروکسی رو جستو جو کنید
امروز مال من کار نمی کنه :(
سلام چرا تازگی وصل نمیشه؟؟؟
لینکی جز گوگل ندارید که بشه این api ها رو جدا دانلود کرد و دستی ادد کرد؟

دمتون گرم عالی بود
توی gradle.properties
systemProp.http.proxyHost=fodev.org
systemProp.http.proxyPort=8118
systemProp.http.nonProxyHosts=*.jitpack.io, *.maven.org
systemProp.https.proxyHost=fodev.org
systemProp.https.proxyPort=8118
systemProp.https.nonProxyHosts=*.jitpack.io, *.maven.org
این چند خط بالایی رو اضافه کنید 
وتنظیمات پروکسی رو روی auto detect قرار بدید ولذت ببرید
سلام.خطای زسر مربوط به چی هست؟
org.gradle.api.ProjectConfigurationException: A problem occurred configuring root project 'reee'.
at org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure(LifecycleProjectEvaluator.java:94)
at org.gradle.configuration.project.LifecycleProjectEvaluator.doConfigure(LifecycleProjectEvaluator.java:66)
at org.gradle.configuration.project.LifecycleProjectEvaluator.access$100(LifecycleProjectEvaluator.java:34)
at org.gradle.configuration.project.LifecycleProjectEvaluator$ConfigureProject.run(LifecycleProjectEvaluator.java:110)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:50)
at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:666)
at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:135)
at org.gradle.execution.TaskPathProjectEvaluator.configure(TaskPathProjectEvaluator.java:35)
at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:60)
at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:38)
at org.gradle.initialization.DefaultGradleLauncher$ConfigureBuild.run(DefaultGradleLauncher.java:249)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.initialization.DefaultGradleLauncher.configureBuild(DefaultGradleLauncher.java:167)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:126)
at org.gradle.initialization.DefaultGradleLauncher.getConfiguredBuild(DefaultGradleLauncher.java:104)
at org.gradle.internal.invocation.GradleBuildController$2.call(GradleBuildController.java:87)
at org.gradle.internal.invocation.GradleBuildController$2.call(GradleBuildController.java:84)
at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:152)
at org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:100)
at org.gradle.internal.invocation.GradleBuildController.configure(GradleBuildController.java:84)
at org.gradle.tooling.internal.provider.runner.ClientProvidedBuildActionRunner.run(ClientProvidedBuildActionRunner.java:64)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java:32)
at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$1.run(RunAsBuildOperationBuildActionRunner.java:43)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:40)
at org.gradle.tooling.internal.provider.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:51)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:47)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:30)
at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:39)
at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:25)
at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:80)
at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:53)
at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:57)
at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:32)
at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:36)
at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:25)
at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:43)
at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:29)
at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:69)
at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:30)
at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:59)
at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:44)
at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:45)
at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:30)
at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:67)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
at org.gradle.util.Swapper.swap(Swapper.java:38)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:62)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:82)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:295)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: Could not resolve all files for configuration ':classpath'.
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.rethrowFailure(DefaultConfiguration.java:918)
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.access$1600(DefaultConfiguration.java:116)
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationFileCollection.getFiles(DefaultConfiguration.java:892)
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.getFiles(DefaultConfiguration.java:404)
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration_Decorated.getFiles(Unknown Source)
at org.gradle.api.internal.file.AbstractFileCollection.iterator(AbstractFileCollection.java:68)
at org.gradle.internal.classpath.DefaultClassPath.<init>(DefaultClassPath.java:48)
at org.gradle.api.internal.initialization.DefaultScriptClassPathResolver.resolveClassPath(DefaultScriptClassPathResolver.java:39)
at org.gradle.api.internal.initialization.DefaultScriptHandler.getScriptClassPath(DefaultScriptHandler.java:72)
at org.gradle.plugin.use.internal.DefaultPluginRequestApplicator.defineScriptHandlerClassScope(DefaultPluginRequestApplicator.java:204)
at org.gradle.plugin.use.internal.DefaultPluginRequestApplicator.applyPlugins(DefaultPluginRequestApplicator.java:82)
at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:179)
at org.gradle.configuration.BuildOperationScriptPlugin$1.run(BuildOperationScriptPlugin.java:61)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.configuration.BuildOperationScriptPlugin.apply(BuildOperationScriptPlugin.java:58)
at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:41)
at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:26)
at org.gradle.configuration.project.ConfigureActionsProjectEvaluator.evaluate(ConfigureActionsProjectEvaluator.java:34)
at org.gradle.configuration.project.LifecycleProjectEvaluator.doConfigure(LifecycleProjectEvaluator.java:64)
... 84 more
Caused by: org.gradle.internal.resolve.ModuleVersionResolveException: Could not resolve com.android.tools.build:gradle:3.1.1.
Required by:
    project :
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.resolveModule(RepositoryChainComponentMetaDataResolver.java:103)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.resolve(RepositoryChainComponentMetaDataResolver.java:63)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.ComponentResolversChain$ComponentMetaDataResolverChain.resolve(ComponentResolversChain.java:93)
at org.gradle.api.internal.artifacts.ivyservice.clientmodule.ClientModuleResolver.resolve(ClientModuleResolver.java:48)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.ComponentState.resolve(ComponentState.java:157)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.ComponentState.getMetaData(ComponentState.java:168)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.DownloadMetadataOperation.run(DownloadMetadataOperation.java:31)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.access$900(DefaultBuildOperationExecutor.java:63)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$ParentPreservingQueueWorker.execute(DefaultBuildOperationExecutor.java:378)
at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.runOperation(DefaultBuildOperationQueue.java:230)
at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.access$600(DefaultBuildOperationQueue.java:172)
at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable$1.call(DefaultBuildOperationQueue.java:209)
at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable$1.call(DefaultBuildOperationQueue.java:203)
at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:152)
at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.runBatch(DefaultBuildOperationQueue.java:202)
at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.run(DefaultBuildOperationQueue.java:177)
at org.gradle.internal.operations.DefaultBuildOperationQueue.waitForCompletion(DefaultBuildOperationQueue.java:116)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.executeInParallel(DefaultBuildOperationExecutor.java:159)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.runAll(DefaultBuildOperationExecutor.java:130)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.DependencyGraphBuilder.downloadMetadataConcurrently(DependencyGraphBuilder.java:249)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.DependencyGraphBuilder.resolveEdges(DependencyGraphBuilder.java:228)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.DependencyGraphBuilder.traverseGraph(DependencyGraphBuilder.java:143)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.DependencyGraphBuilder.resolve(DependencyGraphBuilder.java:109)
at org.gradle.api.internal.artifacts.ivyservice.resolveengine.DefaultArtifactDependencyResolver.resolve(DefaultArtifactDependencyResolver.java:90)
at org.gradle.api.internal.artifacts.ivyservice.DefaultConfigurationResolver.resolveGraph(DefaultConfigurationResolver.java:146)
at org.gradle.api.internal.artifacts.ivyservice.ShortCircuitEmptyConfigurationResolver.resolveGraph(ShortCircuitEmptyConfigurationResolver.java:73)
at org.gradle.api.internal.artifacts.ivyservice.ErrorHandlingConfigurationResolver.resolveGraph(ErrorHandlingConfigurationResolver.java:66)
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$4.run(DefaultConfiguration.java:483)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.resolveGraphIfRequired(DefaultConfiguration.java:474)
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.resolveToStateOrLater(DefaultConfiguration.java:459)
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.access$1700(DefaultConfiguration.java:116)
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationFileCollection.getSelectedArtifacts(DefaultConfiguration.java:901)
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationFileCollection.getFiles(DefaultConfiguration.java:889)
... 103 more
Caused by: org.gradle.internal.resolve.ModuleVersionResolveException: Could not resolve com.android.tools.build:gradle:3.1.1.
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.resolveComponentMetaData(ErrorHandlingModuleComponentRepository.java:129)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ComponentMetaDataResolveState.process(ComponentMetaDataResolveState.java:66)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ComponentMetaDataResolveState.resolve(ComponentMetaDataResolveState.java:58)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.findBestMatch(RepositoryChainComponentMetaDataResolver.java:138)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.findBestMatch(RepositoryChainComponentMetaDataResolver.java:119)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver.resolveModule(RepositoryChainComponentMetaDataResolver.java:92)
... 142 more
Caused by: org.gradle.api.resources.ResourceException: Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.1.1/gradle-3.1.1.pom'.
at org.gradle.internal.resource.ResourceExceptions.failure(ResourceExceptions.java:74)
at org.gradle.internal.resource.ResourceExceptions.getFailed(ResourceExceptions.java:57)
at org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor.copyToCache(DefaultCacheAwareExternalResourceAccessor.java:201)
at org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor.access$300(DefaultCacheAwareExternalResourceAccessor.java:55)
at org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor$1.create(DefaultCacheAwareExternalResourceAccessor.java:90)
at org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor$1.create(DefaultCacheAwareExternalResourceAccessor.java:82)
at org.gradle.cache.internal.ProducerGuard$AdaptiveProducerGuard.guardByKey(ProducerGuard.java:97)
at org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor.getResource(DefaultCacheAwareExternalResourceAccessor.java:82)
at org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver.downloadByCoords(DefaultExternalResourceArtifactResolver.java:129)
at org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver.downloadStaticResource(DefaultExternalResourceArtifactResolver.java:95)
at org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver.resolveArtifact(DefaultExternalResourceArtifactResolver.java:65)
at org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver.parseMetaDataFromArtifact(ExternalResourceResolver.java:216)
at org.gradle.api.internal.artifacts.repositories.resolver.MavenResolver.parseMetaDataFromArtifact(MavenResolver.java:170)
at org.gradle.api.internal.artifacts.repositories.resolver.MavenResolver.parseMetaDataFromArtifact(MavenResolver.java:65)
at org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver.resolveStaticDependency(ExternalResourceResolver.java:193)
at org.gradle.api.internal.artifacts.repositories.resolver.MavenResolver.doResolveComponentMetaData(MavenResolver.java:145)
at org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver$RemoteRepositoryAccess.resolveComponentMetaData(ExternalResourceResolver.java:467)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.CachingModuleComponentRepository$ResolveAndCacheRepositoryAccess.resolveComponentMetaData(CachingModuleComponentRepository.java:363)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.BaseModuleComponentRepositoryAccess.resolveComponentMetaData(BaseModuleComponentRepositoryAccess.java:50)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.memcache.InMemoryCachedModuleComponentRepository$CachedAccess.resolveComponentMetaData(InMemoryCachedModuleComponentRepository.java:95)
at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.ErrorHandlingModuleComponentRepository$ErrorHandlingModuleComponentRepositoryAccess.resolveComponentMetaData(ErrorHandlingModuleComponentRepository.java:126)
... 147 more
Caused by: org.gradle.internal.resource.transport.http.HttpRequestException: Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.1.1/gradle-3.1.1.pom'.
at org.gradle.internal.resource.transport.http.HttpClientHelper.performRequest(HttpClientHelper.java:96)
at org.gradle.internal.resource.transport.http.HttpClientHelper.performRawGet(HttpClientHelper.java:80)
at org.gradle.internal.resource.transport.http.HttpClientHelper.performGet(HttpClientHelper.java:84)
at org.gradle.internal.resource.transport.http.HttpResourceAccessor.openResource(HttpResourceAccessor.java:43)
at org.gradle.internal.resource.transport.http.HttpResourceAccessor.openResource(HttpResourceAccessor.java:29)
at org.gradle.internal.resource.transfer.DefaultExternalResourceConnector.openResource(DefaultExternalResourceConnector.java:56)
at org.gradle.internal.resource.transfer.ProgressLoggingExternalResourceAccessor.openResource(ProgressLoggingExternalResourceAccessor.java:36)
at org.gradle.internal.resource.transfer.AccessorBackedExternalResource.withContentIfPresent(AccessorBackedExternalResource.java:130)
at org.gradle.internal.resource.BuildOperationFiringExternalResourceDecorator$11.call(BuildOperationFiringExternalResourceDecorator.java:237)
at org.gradle.internal.resource.BuildOperationFiringExternalResourceDecorator$11.call(BuildOperationFiringExternalResourceDecorator.java:229)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:350)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:340)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:120)
at org.gradle.internal.resource.BuildOperationFiringExternalResourceDecorator.withContentIfPresent(BuildOperationFiringExternalResourceDecorator.java:229)
at org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor.copyToCache(DefaultCacheAwareExternalResourceAccessor.java:199)
... 165 more
Caused by: org.apache.http.conn.HttpHostConnectException: Connect to fod.backtory.com:8118 [fod.backtory.com/185.105.185.214] failed: Connection timed out: connect
at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:151)
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353)
at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:388)
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184)
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88)
at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
at org.gradle.internal.resource.transport.http.HttpClientHelper.performHttpRequest(HttpClientHelper.java:148)
at org.gradle.internal.resource.transport.http.HttpClientHelper.performHttpRequest(HttpClientHelper.java:126)
at org.gradle.internal.resource.transport.http.HttpClientHelper.executeGetOrHead(HttpClientHelper.java:103)
at org.gradle.internal.resource.transport.http.HttpClientHelper.performRequest(HttpClientHelper.java:94)
... 180 more
Caused by: java.net.ConnectException: Connection timed out: connect
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at org.apache.http.conn.socket.PlainConnectionSocketFactory.connectSocket(PlainConnectionSocketFactory.java:74)
at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:134)
... 192 more

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

سلام ، ممنون از اینکه به فکر همکارای خودتون هستید ، 2 تا نکته یک اینکه console.firebase.google.com رو نمیتونه باز کنه روی لودینگ میمونه ، نکته دوم این که بدون gitlab نمیشه کد زد که تحریم شدیم !! :/ اینم لطفا بزارید تو لیست سایتهاتون
آقا خداوکیلی دمتون گرم از صبح تا همین الان درگیرش بودم (الان ساعت 12 شبه) اشکمو در آورده بود تا با کمک شما مشکلم حل شد زنده باد 
۲۳ دی ۹۷ ، ۱۰:۵۰ گیلاسی ها
خدایی دمتون گرم

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی