Turns out that Jennifer Hudson playing a Broadway diva on “Smash” was mere foreshadowing: Now she’s lording it up in a revival of “The Color Purple: The Musical.”

But killing on TV is one thing — doing it live is another. JHud’s a terrific singer, but onstage, she hardly registers. That’s too bad, since her character, Shug Avery, is meant to be a sexually magnetic songbird seducing men and women alike in the early 20th century South.

It’s Hudson’s co-stars you’ll remember: Cynthia Erivo, who came from London with John Doyle’s production; and Danielle Brooks, better known as Taystee, from Netflix’s “Orange Is the New Black.”

Erivo goes from zero to hero as Celie, who’s used and abused by men before Shug inspires her to fight for her independence. (Fun fact: This is the second time Erivo has played a role originated by Whoopi Goldberg for film — she also starred in the musical of “Sister Act” in London.) Celie’s “I’m Here” is meant to be a big eleventh hour anthem of resilience, and Erivo drives it home with dignity and fire.
We could have used more of that heat in Celie’s relationship with Shug. What, those two are lovers for years? Could have fooled us.

Danielle Brooks and Kyle ScatliffeMatthew Murphy

As for Brooks, her sharply funny portrayal of the feisty Sofia won’t surprise anyone familiar with Taystee. The shocker is that she can sing — and when she belts the take-no-guff anthem “Hell No!” you want to shout back “Hell yeah!”

“The Color Purple: The Musical” is far from perfect. Marsha Norman’s adaptation of Alice Walker’s novel takes tons of shortcuts, careening from scene to scene at full speed. Characters, including Celie’s brutish husband, undergo drastic changes at the drop of a hat.

But the show works in a primal way. Its pop-inflected score — though performed here on the cheap, with a skimpy, keyboard-heavy band — has surprising staying power. Your head may quibble, but your heart’s on board.