Injective resolutions of a complex
I was looking for a slick proof of the same fact, avoiding taking the Cartan-Eilenberg resolutions, so I came across this question. I think the proof with Cartan-Eilenberg resolutions is an overkill; it is useful for different reasons, namely for the spectral sequences associated to the corresponding total complex.
Let me write down a direct proof by induction. Even though the question is old, it might be useful to someone.
Let $A^\bullet$ be a (cohomological) complex such that $A^n = 0$ for $n \ll 0$. Then we claim that there exists a complex $I^\bullet$ consisting of injective objects, together with a quasi-isomorphism of complexes $$f^\bullet\colon A^\bullet \to I^\bullet.$$
First of all, note that
$f^\bullet$ is a quasi-isomorphism if and only if its cone $C (f)$ is acyclic (i.e. $H^n (C (f)) = 0$ for all $n$).
Namely, one defines $C (f)$ to be the complex consisting of objects $$C (f)^n = I^n \oplus A^{n+1}$$ and differentials $$d^n_{C (f)} = \begin{pmatrix} d^n_I & f^{n+1} \\ 0 & -d_A^{n+1} \end{pmatrix}\colon I^n \oplus A^{n+1}\to I^{n+1} \oplus A^{n+2}.$$ This complex sits in the short exact sequence $$0 \to I^\bullet \to C (f) \to A^\bullet [1] \to 0$$ and in the corresponding long exact sequence in cohomology $$\cdots \to H^{n-1} (C (f)) \to H^n (A^\bullet) \to H^n (I^\bullet) \to H^n (C (f)) \to \cdots$$ the connecting morphism $H^n (A^\bullet) \to H^n (I^\bullet)$ is actually $H^n (f)$. This shows that acyclicity of $C (f)$ indeed corresponds to all $H^n (f)$ being isomorphisms.
Now we may construct the complex $I^\bullet$ by induction, and at each step our goal is to keep $C (f)$ acyclic.
For the induction base, if $A^k = 0$ for all $k \le N$, we may put $I^k = 0$ for all $k \le N$.
For the induction step, let's assume we have defined in degrees $k \le n$ injective objects $I^k$, differetials $d_I^{k-1}\colon I^{k-1}\to I^k$, and morphisms $f^k\colon A^k \to I^k$ such that $d_I^{k-1}\circ d_I^{k-2} = 0$, the differentials $d_A$ and $d_I$ commute with $f$, and the cone $C (f)$ is acyclic in degrees $k \le n-1$.
$$\require{AMScd}\begin{CD} \cdots @>>> A^{n-1} @>d^{n-1}_A>> A^n @>d^n_A>> A^{n+1} @>>> \cdots \\ @. @VVf^{n-1}V @VVf^nV \\ \cdots @>>> I^{n-1} @>d^{n-1}_I>> I^n \end{CD}$$
We are going to define $I^{n+1}$ and morphisms $f^{n+1}\colon A^{n+1}\to I^{n+1}$ and $d^n_I\colon I^n \to I^{n+1}$, such that
- $d^n_I\circ d^{n-1}_I = 0$,
- $d^n_I\circ f^n = f^{n+1}\circ d^n_A$,
- $C (f)$ is acyclic in degree $n$.
The last condition suggests that we should do the following thing: take the cokernel of the differential $d^{n-1}_{C(f)}$: $$I^{n-1}\oplus A^n \xrightarrow{d^{n-1}_{C(f)}} I^n\oplus A^{n+1} \twoheadrightarrow C^{n+1}$$ Sadly, $C^{n+1}$ doesn't have to be injective, but we can always pick a monomorphism $C^{n+1} \rightarrowtail I^{n+1}$ to some injective object (using the hypothesis on enough injectives).
Now the morphism $$I^n\oplus A^{n+1} \twoheadrightarrow C^{n+1} \rightarrowtail I^{n+1}$$ is uniquely determined by a pair of arrows $I^n \to I^{n+1}$ and $A^{n+1} \to I^{n+1}$, and it's tempting to call them $d^n_I$ and $f^{n+1}$.
The composition $$I^{n-1}\oplus A^n \xrightarrow{d^{n-1}_{C (f)}} I^n\oplus A^{n+1} \xrightarrow{(d^n_I, f^{n+1})} I^{n+1}$$ is zero by our construction, so $$(d^n_I, f^{n+1}) \circ \begin{pmatrix} d^{n-1}_I & f^n \\ 0 & -d_A^n \end{pmatrix} = (d^n_I\circ d^{n-1}_I, d_I^n\circ f^n - f^{n+1}\circ d^n_A) = (0,0).$$ We obtained the desired identities $d^n_I\circ d^{n-1}_I = 0$ and $d_I^n\circ f^n = f^{n+1}\circ d^n_A$. The complex $C (f)$ is acyclic in degree $n$ by our construction.
We are done.
Note that this argument generalizes the proof that one normally uses when the complex $A^\bullet$ consists of a single object: we repeatedly take certain cokernels and then embed them in injective objects.
The very same argument dualizes to show that
if $A_\bullet$ is a (homological) complex such that $A_n = 0$ for $n \ll 0$, then there exists a complex of projective objects $P_\bullet$ together with a quasi-isomorphism $P_\bullet \to A_\bullet$ (assuming the category has enough projectives).
Namely, for the induction step you have to take the kernel of the differential of $C (f)$, and then pick an epimorphism from some projective object: $$P_n \twoheadrightarrow K_n \rightarrowtail A_n \oplus P_{n-1} \xrightarrow{d_n^{C (f)}} A_{n-1}\oplus P_{n-2}$$ (The numbering is homological now.)
I found this.
Let $X$ be an Abelian category with enough injectives. Let $\mathcal A^{\bullet} \in C(X)$, the category of complexes in $X$.
Definition 1.9 A resolution of $\mathcal A^{\bullet}$ is defined as a quasi-isomorphism $\mathcal A^{\bullet} \rightarrow \mathcal F^{\bullet}$.
Assume $\mathcal A^{\bullet}$ is bounded below. Now construct an injective resolution $\mathcal A^{\bullet} \rightarrow \mathcal I^{\bullet}$ of $\mathcal A^{\bullet}$.
(Proposition 2.3) Find a double complex $\mathcal I^{\bullet,\bullet}$, such that for all $q$, $\mathcal I^{\bullet,q}$ is an injective resolution of $\mathcal A^q$.
(Definition 2.1) Then let $\mathcal I^{\bullet}$ be the (simple) complex associated to the double complex $\mathcal I^{\bullet,\bullet}$. ($\mathcal I^{\bullet}$ is defined as: $\mathcal I^i = \otimes_{p+q=i}\mathcal I^{p,q}$, moreover, for $d':\mathcal I^{p,q} \rightarrow \mathcal I^{p+1,q}$, $d'':\mathcal I^{p,q} \rightarrow \mathcal I^{p,q+1}$, set $d=d'+d''$.)
The morphism $\mathcal A^{\bullet} \rightarrow \mathcal I^{\bullet}$ can be defined in a natural way.
Please check the hyperlink and read the pdf file. Although I really hope I've made no mistakes in understanding and typing.