diff --git a/server/src/strip.rs b/server/src/strip.rs index 35d5e28..5d936fd 100644 --- a/server/src/strip.rs +++ b/server/src/strip.rs @@ -145,10 +145,17 @@ fn strip_debug_symbols(src_path: &Path) -> Result { let _ = std::fs::remove_file(&slim_path); let _ = std::fs::remove_file(with_suffix(&slim_path, ".idsig")); anyhow::bail!( + // Rebuild is named rather than left as "rebuild it": the + // checkout has not moved, so nothing about this makes the + // component stale and neither a pull nor Update will run the + // build. Rebuild is the one control that builds anyway, and + // without saying so the advice is one somebody can follow and + // still be stuck. "{} is signed by {}, but the debug keystore at {} signs as {} -- a stripped copy \ signed with it is a different app to Android, and the phone would refuse it with \ - \"App not installed\". Rebuild this app on this machine, or restore the debug \ - keystore it was built with.", + \"App not installed\". Press Rebuild on this project to build it again with the \ + key that is here now (a pull will not: nothing in the checkout changed), or \ + restore the debug keystore it was built with.", src_path.display(), built_by.iter().cloned().collect::>().join(", "), sdk::debug_keystore_path()?.display(),