Pakistan selectors named the 15-man squad on Monday (April 29) and retained Misbah-ul-Haq as the captain for the global tournament. The same squad will play ODIs in Ireland and Scotland in May.
Sohail Tanvir was also axed from the squad that toured South Africa. Umar Gul is not in the line-up as he is injured.
Afridi, 32, has played 354 ODIs and his poor peformance recently has cost him the place, according to chief selector Iqbal Qasim.
"Afridi's bowling has not been up to the mark in recent matches. He has not taken wickets and his primary role in the team is that of a bowler," Qasim said.
Pakistan will play a one-day series in Scotland and Ireland in May before going to England for the Champions Trophy.
Pakistan are grouped with South Africa, India and West Indies in the Champions Trophy.
Pakistan squad: Misbah-ul-Haq (captain), Nasir Jamshed, Imran Farhat, Mohammad Hafeez, Asad Shafiq, Shoaib Malik, Umar Amin, Kamran Akmal (wicketkeeper), Saeed Ajmal, Abdul Rehman, Junaid Khan, Mohammad Irfan, Asad Ali, Ehsan Adil and Wahab Riaz.