Reports say the ship is carrying millions of rounds of ammunition
Angola's government has authorised a Chinese ship carrying arms destined for Zimbabwe to dock, although it says it will not be allowed to unload weapons.
In a statement, the government said the vessel would only be allowed to deliver goods intended for Angola.
On Thursday, the Chinese authorities said they would recall the ship to China after port workers in South Africa refused to unload the weapons.
Other southern African countries had also refused to allow the ship to dock.
Leaders in the region had expressed concern that the weapons could heighten tensions in Zimbabwe.
The results of presidential elections held there nearly a month ago have still not been released.
The state news agency, Angop, said the ship, the An Yue Jiang, had been authorised to dock in the capital Luanda.
But it can only unload "merchandise destined for Angola", a government statement said.
Angola is a close ally of Zimbabwean President Robert Mugabe.
On Thursday, a Chinese foreign ministry official said the ship, which reportedly contains three million rounds of ammunition, 1,500 rocket-propelled grenades and 2,500 mortar rounds, might return to China.
The US had urged China to recall the An Yue Jiang, while the UK called for an international arms embargo on Zimbabwe.
Zambia's president urged African countries not to let the arms in.
But Zimbabwe's state-run Herald newspaper condemned the country's neighbours as "myopic stooges" for refusing to let the cargo dock.
"Zimbabwe is... under attack from the former coloniser and its allies. As such, Zimbabwe probably needs to arm itself more than any other country in Africa today," the paper said.