Faits :
A.
A.a. A._ a travaillé en qualité d'installateur sanitaire et de chauffages au service de la société B._ Sàrl (inscrite au Registre du commerce le 6 octobre 1999. Il est à la fois fondateur, associé-gérant et salarié de cette sàrl, dont il détient 19 des 20 parts sociales. En raison d'une hernie discale, il a été incapable d'exercer sa profession d'installateur à 100 % depuis le 26 octobre 2001, puis à 80 % à compter du 1 er mai 2002. Le 21 août 2002, il s'est annoncé à l'assurance-invalidité, indiquant un revenu mensuel de 8'000 fr.
L'Office de l'assurance-invalidité du canton de Fribourg (l'office AI) a pris en charge des mesures de réadaptation, afin que l'assuré puisse modifier son cahier des charges dans son entreprise et conserver une capacité de gain la plus élevée possible. Par décision du 24 novembre 2005, l'office AI lui a alloué une rente entière d'invalidité à compter du 1 er novembre 2002. Le droit à cette prestation a été confirmé en 2007 et en 2010.
A.b. Dans le cadre d'une nouvelle révision d'office de la rente initiée en 2013, la doctoresse D._, spécialiste en rhumatologie, médecine physique et réadaptation, médecin au Service médical régional SMR BE/FR/SO, a procédé à un examen de l'assuré le 1 er octobre 2014. Ce dernier lui a déclaré qu'il travaillait à raison de deux à trois heures par jour, plutôt le matin, depuis mars 2006. Son activité consistait à superviser l'activité de l'entreprise et de la clientèle, représenter l'entreprise auprès des clients, établir des mandats, suivre des chantiers, organiser le travail et à contrôler le travail effectué par les ouvriers; il s'occupait également des finances. La doctoresse D._ a constaté une amélioration de l'état rachidien et lombaire, compatible avec une activité d'administrateur à 80 %, sans perte de rendement; l'incapacité résiduelle (20 %) était liée à la nécessité d'économiser le rachis dorso-lombaire qui avait subi diverses opérations et présentait des lésions dégénératives (rapport du 4 novembre 2014).
Dans un projet de décision du 19 novembre 2014, l'office AI a fait savoir à l'assuré qu'il envisageait de supprimer la rente au motif qu'il disposait d'une capacité de travail et de gain d'au moins 80 %, de sorte que les conditions du droit au versement de cette prestation n'étaient plus réalisées; le salaire de l'assuré (39'000 fr., soit 3'250 fr. par mois) n'a pas été pris en considération. L'assuré a manifesté son opposition, indiquant qu'il travaillerait trois fois plus sans l'atteinte à la santé (cf. procès-verbal d'objection du 13 janvier 2015). Par décision du 20 janvier 2015, l'office AI a supprimé la rente.
B.
A._ a déféré cette décision au Tribunal cantonal du canton de Fribourg, Cour des assurances sociales, en concluant principalement à son annulation, subsidiairement à la mise en oeuvre d'une expertise destinée à démontrer son incapacité actuelle de gain.
La juridiction cantonale l'a débouté par jugement du 19 avril 2016.
C.
A._ interjette un recours en matière de droit public contre ce jugement dont il demande l'annulation. A titre principal, il conclut au maintien de la rente entière d'invalidité. A titre subsidiaire, il conclut au renvoi de la cause à la juridiction cantonale.

Considérant en droit :
1.
Saisi d'un recours en matière de droit public (<ref-law>), le Tribunal fédéral exerce un pouvoir d'examen limité. Il applique le droit d'office (<ref-law>) et statue sur la base des faits retenus par l'autorité précédente (<ref-law>). Il peut néanmoins rectifier ou compléter d'office l'état de fait du jugement entrepris si des lacunes ou des erreurs manifestes lui apparaissent aussitôt (<ref-law>). Il examine en principe seulement les griefs motivés (<ref-law>) et ne peut pas aller au-delà des conclusions des parties (<ref-law>). Le recourant ne peut critiquer la constatation des faits importants pour le sort de l'affaire que si ceux-ci ont été établis en violation du droit ou de façon manifestement inexacte (<ref-law>).
2.
Le litige porte sur la suppression de la rente d'invalidité par voie de révision.
Si le taux d'invalidité du bénéficiaire de la rente subit une modification notable, la rente est, d'office ou sur demande, révisée pour l'avenir, à savoir augmentée ou réduite en conséquence, ou encore supprimée (<ref-law>).
Pour évaluer le taux d'invalidité, le revenu que l'assuré aurait pu obtenir s'il n'était pas invalide est comparé avec celui qu'il pourrait obtenir en exerçant l'activité qui peut raisonnablement être exigée de lui après les traitements et les mesures de réadaptation, sur un marché du travail équilibré (<ref-law>).
3.
3.1. Dans sa décision du 20 janvier 2015, l'office intimé a constaté que le chiffre d'affaires de B._ Sàrl avait plus que décuplé en dix ans, passant de 413'335 fr. en 2001 à plus de six millions de francs en 2013. Cette année-là, la masse salariale s'élevait à 1'670'249 fr. et la société employait 29 personnes et 5 apprentis en plus de l'assuré et de son épouse, alors qu'elle occupait 4 personnes en 2003. Pour l'intimé, les tâches accomplies par le recourant étaient compatibles avec son état de santé, soit l'administration de la société, l'organisation et le planning, la recherche de mandats, les téléphones, les soumissions, le suivi des offres, l'établissement des plans de percements ou d'écoulements, la facturation, la gestion des finances, l'engagement et le suivi du personnel.
L'intimé a également retenu que le salaire annuel de 39'000 fr. que le recourant percevait en 2013 (3'250 fr. par mois) ne correspondait pas à la réalité et qu'il avait été maintenu volontairement bas au profit de B._ Sàrl; cette dernière avait constitué des réserves et des investissements importants ayant comme conséquence une plus-value conséquente des parts sociales. Dans ce contexte, l'intimé a constaté qu'un manoeuvre réalisait un salaire de 53'969 fr. dans l'entreprise, et qu'une secrétaire gagnait 52'000 fr. par an. L'épouse du recourant accomplissait des tâches administratives dans le cadre d'un emploi à 50 % et était rémunérée par B._ Sàrl à concurrence de 84'732 fr.
Dès lors que le recourant disposait à nouveau d'une capacité de travail et de gain d'au moins 80 %, l'intimé a supprimé la rente, en rappelant qu'un degré d'invalidité inférieur à 40 % ne donnait pas droit à la rente.
3.2. Les premiers juges ont constaté que la situation médicale du recourant ne s'était pas améliorée depuis l'octroi de la rente d'invalidité. Le travail de direction que le recourant effectuait au sein de son entreprise n'avait toutefois plus rien des travaux de force qu'il accomplissait jadis aux côtés de ses deux uniques ouvriers. Les circonstances avaient ainsi clairement changé, car les conséquences médicales de l'atteinte à la santé étaient désormais toutes autres.
De l'avis de la juridiction cantonale, il était incompréhensible que l'augmentation des activités de l'entreprise ne pût se répercuter sur la charge de travail de son patron. Cela donnait clairement à penser qu'il ne faisait pas tout ce qu'on pouvait exiger de lui pour diminuer l'impact de son état de santé sur sa perte de gain, ou tout simplement, qu'il ne désirait pas travailler plus, déléguant ses affaires aux membres de sa famille. Le fonctionnement interne de l'entreprise et le faible revenu d'administrateur-directeur suscitaient des interrogations. Dans ces conditions, les premiers juges ont admis que le calcul du taux d'invalidité s'avérait impossible.
Le tribunal cantonal ne s'est pas prononcé sur la méthode applicable à l'évaluation de l'invalidité. Pour cette autorité, le recourant ne saurait toutefois déplorer l'absence d'une évaluation de son taux d'invalidité par comparaison des revenus, dans le cadre de la méthode ordinaire ou de la méthode spécifique. Il devait à tout le moins s'octroyer un salaire d'administrateur décent, en rapport avec le développement de sa société, d'autant que son épouse, salariée à mi-temps dans l'entreprise, gagnait 7'000 fr. par mois. On ne se trouvait donc plus dans un cas de sinistre à charge de l'assurance-invalidité.
4.
Le recourant fait grief aux premiers juges de n'avoir pas appliqué correctement la méthode extraordinaire d'évaluation de l'invalidité. Eu égard à ses problèmes de santé, il soutient qu'il aurait fallu déterminer la nature de ses tâches et le temps nécessaire pour les accomplir. Le recourant estime que l'autorité cantonale aurait ensuite dû pondérer les activités et déterminer le revenu avec et sans invalidité, avant d'effectuer une comparaison de revenus. A son avis, il y aurait lieu de comparer un hypothétique salaire d'administrateur-directeur avec invalidité avec un hypothétique salaire d'administrateur-directeur sans invalidité.
Au surplus, le recourant soutient qu'il ne peut pas exercer une activité administrative ou de direction au-delà de deux à trois heures par jour, en raison de son état de santé.
5.
5.1. Les constatations de l'autorité cantonale de recours sur l'atteinte à la santé, la capacité de travail de la personne assurée et l'exigibilité - pour autant qu'elles ne soient pas fondées sur l'expérience générale de la vie - relèvent d'une question de fait et ne peuvent donc être contrôlées par le Tribunal fédéral que sous un angle restreint (<ref-ruling> consid. 3.2 p. 398; consid. 1 supra).
Dans la mesure où le recourant conteste l'étendue de sa capacité résiduelle de travail en qualité d'administrateur, il remet en cause les constatations de fait de l'autorité précédente. Il n'expose toutefois pas en quoi les faits auraient été constatés de manière manifestement erronée ou en violation du droit (cf. <ref-law>); son argumentaire est purement appellatoire.
La Cour de céans retiendra dès lors une capacité de travail médico-théorique de 80 % dans le cadre de l'activité administrative et de direction qu'il accomplit au sein de son entreprise (<ref-law>).
5.2. Le choix de la méthode d'évaluation de l'invalidité est une question de droit sur laquelle le Tribunal fédéral se prononce librement (arrêts 9C_385/2016 du 17 octobre 2016 consid. 2, 9C_926/2015 du 17 octobre 2016 consid. 1.2, 9C_237/2016 du 24 août 2016 consid. 2.2). Toutefois, la constatation du statut (comme personne sans invalidité), c'est-à-dire le point de savoir si et dans quelle mesure l'assuré aurait exercé une activité lucrative, relève d'une question de fait (arrêt 9C_3/2016 du 10 octobre 2016 consid. 1.2).
Chez les assurés actifs, le degré d'invalidité doit en principe être déterminé sur la base d'une comparaison des revenus. Pour cela, le revenu que l'assuré aurait pu obtenir s'il n'était pas invalide est comparé avec celui qu'il pourrait obtenir en exerçant l'activité qui peut raisonnablement être exigée de lui après les traitements et les mesures de réadaptation, sur un marché du travail équilibré (<ref-law>). La comparaison des revenus s'effectue, en règle générale, en chiffrant aussi exactement que possible les montants de ces deux revenus et en les confrontant l'un avec l'autre, la différence permettant de calculer le taux d'invalidité qui doit s'élever à un taux minimum de 40 % pour ouvrir un droit à la rente (<ref-law>).
En l'espèce, les mesures d'ordre professionnel que l'assurance-invalidité a financées ont permis à l'assuré d'opérer une reconversion professionnelle et de modifier son cahier des charges dans l'entreprise où il exerce actuellement des tâches compatibles avec son état de santé. Ces mesures ont été couronnées de succès puisque postérieurement à sa réadaptation, le recourant a pu continuer à travailler au service de la société B._ Sàrl, toujours en qualité de salarié mais en exerçant des tâches compatibles avec ses problèmes de santé. On se trouve ainsi dans la situation où le taux d'invalidité doit être fixé en application de la méthode générale de comparaison des revenus (<ref-law>).
5.3. Pour procéder à la comparaison des revenus, il convient de se placer au moment de la naissance du droit à la rente; les revenus avec et sans invalidité doivent être déterminés par rapport à un même moment et les modifications de ces revenus susceptibles d'influencer le droit à la rente survenues jusqu'au moment où la décision est rendue être prises en compte (cf. <ref-ruling> consid. 4.1 et 4.2).
5.3.1. Selon la jurisprudence, le revenu hypothétique de la personne valide se détermine, en règle générale, en établissant au degré de la vraisemblance prépondérante ce qu'elle aurait effectivement pu réaliser au moment déterminant si elle était en bonne santé. Le revenu sans invalidité doit être évalué de la manière la plus concrète possible, raison pour laquelle il se déduit, en principe, du salaire réalisé par l'assuré avant l'atteinte à la santé, en tenant compte de l'évolution des salaires jusqu'au moment de la naissance du droit à la rente (<ref-ruling> consid. 4.3.1 p. 224 et la référence).
Dans le cas d'espèce, le recourant disposait d'un revenu mensuel de 8'000 fr. jusqu'en 2002. Pour la comparaison (<ref-law>), ce revenu sans invalidité doit être adapté à l'évolution des salaires nominaux jusqu'au moment déterminant pour l'adaptation de la rente (en 2015). De 2002 à 2010, cet indice est passé de 111,5 à 124,5 points (1993: 100), puis à 103,7 points en 2015 (2010: 100). Le revenu de 8'000 fr. doit ainsi être adapté à 9'263 fr. pour la comparaison, soit à 111'159 fr. par an. Les constatations de l'autorité précédente sont complétées d'office sur ce point (<ref-law>).
5.3.2. Le revenu d'invalide doit être évalué avant tout en fonction de la situation professionnelle concrète de la personne assurée. Lorsque l'activité exercée après la survenance de l'atteinte à la santé repose sur des rapports de travail particulièrement stables, qu'elle met pleinement en valeur la capacité de travail résiduelle exigible et que le gain obtenu correspond au travail effectivement fourni et ne contient pas d'éléments de salaire social, c'est le revenu effectivement réalisé qui doit être pris en compte pour fixer le revenu d'invalide. En l'absence d'un revenu effectivement réalisé - soit lorsque la personne assurée, après la survenance de l'atteinte à la santé, n'a pas repris d'activité lucrative ou alors aucune activité normalement exigible -, le revenu d'invalide peut être évalué sur la base de salaires fondés sur les données statistiques résultant de l'Enquête suisse sur la structure des salaires (ESS) (<ref-ruling> consid. 5.2 p. 301; <ref-ruling> consid. 4.2.1 p. 475).
Ainsi, lorsqu'un assuré ne met pas à profit sa capacité de travail restante après l'atteinte à la santé, son revenu d'invalide doit être calculé sur une base théorique et abstraite. Ce faisant, on ne saurait se fonder sur une seule activité déterminée ou sur un tout petit nombre seulement - quand bien même cette activité serait parfaitement adaptée aux limitations en cause - dès lors que rien ne permet de penser que ce revenu serait représentatif de celui que l'assuré pourrait obtenir sur le marché du travail équilibré entrant en considération pour lui (cf. ATF <ref-ruling> consid. 4.2.2 p. 480). Pour que le revenu d'invalide corresponde aussi exactement que possible à celui que l'assuré pourrait réaliser en exerçant l'activité que l'on peut raisonnablement attendre de lui (cf. <ref-ruling> consid. 1 p. 30), l'évaluation dudit revenu doit nécessairement reposer sur un choix large et représentatif d'activités adaptées au handicap de la personne assurée.
En l'occurrence, le revenu mensuel de 3'250 fr. ne peut être retenu à titre de gain d'invalide, car il ne correspond pas à ce qui est exigible de la part du recourant qui dispose d'une capacité de travail de 80 %. En outre, la prise en compte de cet unique revenu serait inconciliable avec le principe général de l'obligation de l'assuré de réduire le dommage (cf. <ref-ruling> consid. 3 p. 208), dès lors qu'il correspond - selon les propres déclarations du recourant, au demeurant invérifiables - à une durée quotidienne de travail de deux à trois heures. En l'absence d'une mise en valeur de toute l'étendue de la capacité de travail disponible, il y a lieu de s'appuyer sur les statistiques salariales comme le prévoit la jurisprudence précitée. Les nouvelles tables de l'ESS 2012 sont applicables puisque le taux d'invalidité n'avait pas été fixé sur la base de données statistiques lors de l'octroi de la rente et que la révision de cette prestation ne résulte pas exclusivement du recours à ces tables (à ce sujet, voir <ref-ruling> consid. 2.5.8.1 p. 189 sv.) mais d'une modification des circonstances personnelles du recourant (changement d'activité dans l'entreprise). Dans ce contexte, les qualifications professionnelles du recourant et les tâches de direction qu'il accomplit actuellement justifient de retenir le niveau de compétences 3 de l'ESS 2012, table TA1_skill_level (p. 34), pour un homme.
Il faut ainsi partir d'un gain déterminant de 7'204 fr. (valeur standardisée), qui doit être adapté à 7'338 fr. pour l'année 2015, compte tenu de l'évolution des salaires nominaux (103,7 points en 2015, 101,8 en 2012). Comme ce gain est basé sur une durée hebdomadaire de travail de 40 heures, inférieure à la moyenne annuelle dans les entreprises, il y a lieu de l'ajuster à 41,7 heures par semaine, ce qui donne un salaire mensuel de 7'650 fr., ou annuel de 91'804 fr. Compte tenu d'une capacité de travail de 80 %, le gain annuel est de 73'443 fr.
Il convient ensuite d'examiner si un facteur de réduction au gain annuel statistique de 73'443 fr. doit être appliqué (cf. <ref-ruling>). Comme la mise en oeuvre de la capacité résiduelle de travail du recourant sur le marché équilibré du travail ne dépend pas d'activités légères, simples et répétitives (au regard desquelles la jurisprudence sur la réduction du salaire d'invalide déterminé selon les ESS a été développée [<ref-ruling>]) et que le recourant est en mesure d'exercer des activités requérant des connaissances professionnelles spécialisées avec une limitation temporelle peu importante, il n'y a pas lieu de prendre en considération une réduction du salaire statistique, résultant d'un large éventail d'activités à portée du recourant, en fonction également de son expérience professionnelle (arrêts 9C_607/2015 du 20 avril 2016 consid. 5.3.2, I 16/98 du 15 février 1999 consid. 3b in SVR 2000 IV n° 1 p. 2).
5.3.3. De ce qui précède, la comparaison d'un revenu d'invalide de 73'443 fr. avec un revenu sans invalidité de 111'159 fr. aboutit à un taux d'invalidité de 34 %. Ceci entraîne la suppression de la rente d'invalidité (<ref-law>, 28 al. 2 LAI). Le recours est infondé.
6.
Le recourant, qui succombe, supportera les frais de la procédure (<ref-law>).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
Les frais judiciaires, arrêtés à 800 fr., sont mis à la charge du recourant.
3.
Le présent arrêt est communiqué aux parties, au Tribunal cantonal du canton de Fribourg, Cour des assurances sociales, et à l'Office fédéral des assurances sociales.
Lucerne, le 12 décembre 2016
Au nom de la IIe Cour de droit social
du Tribunal fédéral suisse
La Présidente : Glanzmann
Le Greffier : Berthoud