Gen David Sejusa, who has called President Yoweri Museveni a dictator, is being detained at a military barracks in the Ugandan capital Kampala, said Ladislaus Rwakafuuzi.
Sejusa's home was surrounded by armed military police early Sunday, he said.
Sejusa's arrest is likely to raise tensions ahead of presidential elections on February 18.
It was not possible to get a comment from the government or military.
Museveni, who is campaigning for re-election, has ruled Uganda since 1986, when he led a group of rebels who had waged a bush war against a government they accused of rigging elections.
More From This Section
Now Sejusa openly accuses Museveni of violating the ideals for which they waged that guerrilla war.
In 2013, Sejusa wrote a letter to the domestic spy chief urging him to investigate allegations of a plot to kill high-ranking government officials seen as being opposed to the political rise of Museveni's son, a brigadier who commands the country's special forces. Facing likely arrest, Sejusa, who, was traveling in Europe at the time, sought asylum in London. He quietly returned home in December 2014.