Name the endpoint and operation that failed. A download error may prevent the trial from reaching the code you wanted to evaluate.

Locate the boundary

Record the first failing command and exact error. Was it reading Git, resolving packages, retrieving an SDK or engine artifact, or launching the app? These operations can use different services and caches.

Dart package tooling can fetch dependencies into a system cache and records project resolution. That cache is not an engine artifact store or Git checkout. Successful access to one service does not establish access to the others.

Build a minimal network record

  1. Preserve operation, time, tool version and relevant error.
  2. Identify public hostname and resource without exposing tokens.
  3. Classify DNS, TLS, authentication, HTTP, checksum or local-write failure.
  4. Check configured service or mirror against its documented purpose.
  5. Repeat the same bounded operation after one justified correction.
  6. Separate retrieval success from later build or runtime results.
Download triage ledger
LayerUseful evidenceAvoid concluding
DNS / TLSHostname and errorFramework code is defective
PackagesConstraint and resolver outputEvery artifact service is down
ArtifactIdentity and responseAny other binary will do
Local writePath and permission/space errorRemote service is broken

Treat mirrors as a trust decision

Flutter documents separate package and artifact mirror settings in its regional guide and cautions readers to trust the provider. Record existing configuration before changing it. Do not use an arbitrary forum mirror just to pass an error.

This procedure does not change DNS, proxies, credentials or certificate validation. Keep a certificate error visible while investigating its endpoint or network path. Disabling validation turns a diagnosable failure into an unverified transfer.

Work through a trial

In a synthetic case, the candidate checkout is correct but an artifact request returns 404. The app never ran. Preserve requested identity and compare it with expected build inputs. A convenient unrelated binary would invalidate the comparison.

In another case, a machine succeeds using cached packages while a fresh environment cannot retrieve them. Record that difference. Cache-only success does not establish that another developer can reproduce the documented setup.

Close only the observed blocker

Close retrieval only when the intended resource arrives and its identity checks pass. Resume the original test. A subsequent app failure is a separate observation with its own command and result.

Share tool, operation, public host, error class, candidate identity and single correction. Do not publish proxy secrets, signed URLs or access tokens. Preserve the distinction between a configured mirror, an observed successful request and a verified resource; none alone certifies the whole SDK.

Visual procedure

Identify failed operation; then Resolve / connect / trust; then Verify intended resource; then Resume original test
Original illustration by Flock editorial: Identify repository, package or artifact retrieval failures before changing app code during an SDK trial.

Identify failed operation; then Resolve / connect / trust; then Verify intended resource; then Resume original test. This is an explanatory illustration, not a test result.

Primary sources

Next useful step

Find your next step

Browse the full sitemap