Faits : A. A.a. Ressortissant macédonien né en 1988, X._ est arrivé en Suisse le 8 avril 1995 à la faveur du regroupement familial. Il a bénéficié d'une autorisation d'établissement à compter du 8 octobre 2003. Célibataire, il vit chez ses parents. Il n'a pas terminé de formation professionnelle, mais a occupé plusieurs emplois et travaille actuellement comme installateur-sanitaire. A.b. Durant sa minorité, X._ a été condamné: - le 23 octobre 2000, à une demi-journée de travail pour vol; - le 2 mars 2005, à une amende de 200 fr. pour agression, contraventions à la loi fédérale sur les stupéfiants (LStup; RS 812.121; cas bénin) et contravention à la loi cantonale sur les établissements publics (fréquentation illicite d'un dancing); - le 28 juin 2006, à une amende de 400 fr. pour rixe. Majeur, il a été condamné à huit reprises: - le 24 avril 2008, à 30 jours-amende à 50 fr. avec sursis pendant trois ans et à une amende de 300 fr. pour agression (fait commis le 20 août 2006); - le 1 er avril 2009, à une peine privative de liberté de 16 mois avec sursis pendant cinq ans et à une amende de 300 fr. (peine d'ensemble avec celle prononcée le 24 avril 2008), pour vol, vol en bande, tentative de vol en bande, dommages à la propriété, violation de domicile, utilisation frauduleuse d'un ordinateur et contravention à la LStup (faits commis entre le 21 août 2006 et le 5 janvier 2008); - le 12 août 2009, à une peine pécuniaire de 70 jours-amende à 100 fr. et à une amende de 400 fr. pour infraction à la loi fédérale sur la circulation routière (LCR; RS 741.01; conduite en incapacité, violations des règles de la circulation, faits commis les 23 novembre 2008 et 10 janvier 2009), délits et contraventions à la LStup (faits commis du 1 er août 2006 au 10 janvier 2009), lésions corporelles simples (faits commis le 28 juin 2008); - le 28 janvier 2010, à une peine pécuniaire de 10 jours-amende à 110 fr. et à une amende de 500 fr. pour délit et contravention à la LStup (faits commis du 10 janvier au 10 juin 2009); - le 11 août 2010, à une peine pécuniaire de 75 jours-amende à 70 fr. et à une amende de 200 fr. pour violation de la LCR (faits commis le 24 janvier 2010), opposition aux actes de l'autorité, violation grave des règles de la circulation routière (faits commis le 30 mars 2010) et contravention à la LStup (faits commis entre le 1 er juillet 2009 et le 24 janvier 2010); - le 13 mai 2011, à une peine pécuniaire de 40 jours-amende à 80 fr. pour délit manqué de vol, dommages à la propriété, violation de domicile, délit contre la loi fédérale sur les armes (LArm; RS 514.5), pour des faits commis le 3 mars 2011; - le 20 novembre 2012, à une peine pécuniaire de 70 jours-amende à 80 fr. pour lésions corporelles simples, dommages à la propriété et injures (faits commis le 20 février 2011); - le 29 novembre 2012, à une amende de 300 fr. pour contravention à à la LStup (faits commis entre janvier et août 2012). A.c. Le 30 mars 2009, le Service de la population et des migrants du canton de Fribourg (ci-après: le Service cantonal) a prononcé un sérieux avertissement à l'endroit de X._ à la suite de sa condamnation du 24 avril 2008, en le menaçant d'une possible révocation de son autorisation d'établissement s'il poursuivait dans la délinquance. Le 15 décembre 2009, le Service cantonal a adressé un second avertissement à l'intéressé, en se référant aux condamnations des 24 avril 2008 et 12 août 2009. Le 19 avril 2013, X._ a indiqué, en réponse aux questions du Service cantonal, qu'il habitait chez ses parents qui le soutenaient, de même que son employeur, dans ses démarches de réinsertion et de réparation des dommages qu'il avait causés. Le 29 mai 2013, le Service cantonal l'a informé de son intention de révoquer son autorisation d'établissement, de prononcer son renvoi de Suisse et de requérir de l'Office fédéral des migrations (actuellement: Secrétariat d'Etat aux migrations) une interdiction d'entrée dans le pays. X._ a formulé des objections. Sur demande du Service cantonal, il a fourni, le 1 er janvier 2015, des renseignements complémentaires, dont il ressortait notamment qu'il réglait ses frais judiciaires dus par acomptes réguliers, ainsi qu'un certain nombre de ses autres dettes. Il a également produit un document attestant son engagement comme installateur-sanitaire pour une durée indéterminée. B. Par décision du 29 janvier 2015, le Service cantonal a révoqué l'autorisation d'établissement de X._ et ordonné son renvoi dans un délai de trente jours. L'intéressé a recouru contre cette décision auprès de la Cour administrative du Tribunal cantonal de l'Etat de Fribourg (ci-après: le Tribunal cantonal), qui a rejeté le recours par arrêt du 29 juin 2015. C. Agissant par la voie du recours en matière de droit public, X._ demande au Tribunal fédéral, sous suite de frais et dépens, d'annuler l'arrêt du 29 juin 2015 et de maintenir son autorisation d'établissement. Le Service cantonal se réfère aux considérants de l'arrêt attaqué. Le Secrétariat d'Etat aux migrations et le Tribunal cantonal concluent au rejet du recours. Par ordonnance du 3 septembre 2015, le Président de la Cour de céans a accordé l'effet suspensif au recours.