Faits: A. Par décision du 6 juin 2000, l'Office de l'assurance-invalidité du canton de Fribourg (l'office AI) a rejeté une demande de prestations que C._, né en 1954, avait formée le 17 août 1999, au motif que le taux d'invalidité était de 22 %. L'administration a retenu que l'assuré pouvait travailler dans une activité légère à plein temps, avec un rendement diminué. Le 1er décembre 2000, l'assuré a présenté une demande de révision de son cas. L'office AI a rendu une première décision, le 5 août 2002, qui a été annulée en dernière instance par le Tribunal fédéral des assurances (cf. arrêt I 302/03 du 19 mars 2004). A l'issue du complément d'instruction ordonné dans cet arrêt, l'office AI a fixé le degré d'invalidité à 37 %, par décision du 30 décembre 2005 confirmée sur opposition le 31 août 2006. Le Tribunal administratif du canton de Fribourg a rejeté le recours formé contre cette décision, par un jugement du 24 octobre 2007 qui n'a pas été attaqué. Le recours interjeté contre la décision du 31 août 2006 a été également interprété comme une nouvelle demande de prestations, du 30 octobre 2006, tendant à la révision du dossier à compter du 12 janvier 2005. Par décision du 8 avril 2008, faisant suite à un projet du 21 novembre 2007, l'office AI a refusé d'entrer en matière sur cette nouvelle demande, considérant que l'assuré n'avait apporté aucun élément médical nouveau susceptible de rendre vraisemblable une aggravation de son état de santé. B. C._ a déféré la décision du 8 avril 2008 au Tribunal administratif, en concluant à la mise en oeuvre de mesures d'ordre professionnel et au versement d'une rente entière d'invalidité depuis le 1er avril 2005. Par jugement du 30 septembre 2010, le Tribunal cantonal du canton de Fribourg, Cour des assurances sociales, qui a repris le contentieux dévolu au Tribunal administratif, a rejeté le recours. C. C._ interjette un recours en matière de droit public contre ce jugement dont il demande l'annulation, avec suite de frais et dépens, en concluant au renvoi de la cause au tribunal cantonal. L'office intimé et l'Office fédéral des assurances sociales ont renoncé à se déterminer.