Faits: A. Ressortissant kosovar né en 1973, X._ est entré en Suisse le 28 août 1991 pour y déposer une demande d'asile, qui a été rejetée le 2 septembre 1992. Il a cependant été admis provisoirement en Suisse. Sa demande, formée en 1998, en vue de l'obtention d'une autorisation de séjour a été rejetée en raison de son comportement délictuel. Le 16 août 1999, l'admission collective provisoire dont X._ avait bénéficié a été levée et un délai lui a été imparti pour quitter la Suisse. Le 19 novembre 1999, il a épousé en Suisse une compatriote disposant actuellement d'un permis d'établissement et a obtenu une autorisation de séjour au titre du regroupement familial. Trois enfants, nés en 2003, 2007 et 2012, sont issus de cette union. B. X._ a fait l'objet de plusieurs condamnations pénales. Le 15 avril 1997, il a été condamné pour complicité de vol, recel et infraction à l'ordonnance fédérale sur l'acquisition et le port d'armes à feu à quatre mois d'emprisonnement avec sursis durant un délai d'épreuve de deux ans ainsi qu'à l'expulsion avec sursis du territoire suisse pendant cinq ans durant un délai d'épreuve de cinq ans. Le 11 février 2000, il a été condamné à trois jours d'arrêts et une amende de 500 fr. pour infraction aux règles de la circulation routière et violation des devoirs en cas d'accident. Par jugement, entré en force (cf. arrêt 1P.675/2006 du 10 janvier 2007), du 10 mai 2005, il a été condamné à quatre ans de peine privative de liberté, sous déduction de 473 jours de détention préventive, pour infraction à la loi fédérale sur les stupéfiants, participation à une organisation criminelle, blanchiment d'argent et violation de la législation sur les armes. Le sursis à l'expulsion de cinq ans a été révoqué à cette occasion. X._ a été mis au bénéfice de la libération conditionnelle le 11 novembre 2008. C. Par décision du 9 janvier 2009, le Service de la population et des migrants du canton de Fribourg (ci-après: le Service cantonal) a refusé de renouveler l'autorisation de séjour de X._ et a ordonné son renvoi de Suisse. Le recours formé contre cette décision a été rejeté par la Ie Cour administrative du Tribunal cantonal du canton de Fribourg (ci-après: le Tribunal cantonal) en date du 23 mars 2011. Le 16 novembre 2011, le Tribunal fédéral a annulé l'arrêt du 23 mars 2011 pour violation du droit d'être entendu de l'intéressé et a renvoyé la cause au Tribunal cantonal pour nouvelle décision au sens des considérants (cause 2C_382/2011). Après avoir tenu des débats le 23 avril 2012, ce dernier a, par nouvel arrêt du 25 avril 2012, rejeté le recours formé contre la décision du 9 janvier 2009. D. Agissant par la voie du recours en matière de droit public, X._ demande au Tribunal fédéral, sous suite de dépens, d'annuler l'arrêt du Tribunal cantonal du 25 avril 2012 et, principalement, de renouveler l'autorisation de séjour en sa faveur, subsidiairement, de renvoyer l'affaire au Tribunal cantonal pour nouvelle instruction, "notamment sur la question de la durée du renvoi". Il requiert également le bénéfice de l'assistance judiciaire complète. Le Service cantonal se réfère à l'arrêt attaqué confirmant sa décision du 9 janvier 2009. Le Tribunal cantonal propose le rejet du recours. Etant tardive, la détermination de l'Office fédéral ne pourra pas être prise en considération. Tout en réitérant sa demande portant sur l'octroi de l'assistance judiciaire complète, le recourant a, par courrier du 9 octobre 2012, renoncé à répliquer. Par ordonnance présidentielle du 31 mai 2012, la IIe Cour de droit public a admis la requête d'effet suspensif formée par X._.