Android 4.1ソースコードのコンパイルリソースファイルの解決方法が見つかりません
1706 ワード
Android frameworkでリソースファイルを修正する場合、Android 4.0まではsourcecode/frameworks/base/core/res/resの下に対応するリソースファイルを直接追加してframework-resをコンパイルすればよいのですが、この場合Android 4.1になると変わります.以前の方法ではコンパイル時にエラーが発生し、参照されたリソースファイルが見つからないことを示します.一般的には、リソースファイルが見つからない理由は次のとおりです.
(0). コンパイル中間ファイルを削除します.
たとえば、Launcher 2のlayoutフォルダにレイアウトファイルが追加されましたが、Launcher 2をコンパイルできず、out/target/common/obj/APPS/Launcher 2_を削除します.intermediatesフォルダのコンパイルに成功しました.
(1). リソースidが間違って書かれ、idが一致しない.
(2). framework-resがコンパイルされていないため、リソースファイルが見つかりません.たとえばframeworkに画像を追加しましたが、framework-resをコンパイルする前にリソースを参照するSystemUIをコンパイルすると、見つからないに違いありません.
(3). importの正しいリソースパッケージがありません.frameworks/base/core/res/resでコンパイルして生成したリソースファイルをout/target/common/R/com/android/internal/R.javaに保存し、そのR.java内にリソースidがあるかどうかを確認してから、ソースコードがあるかどうかを確認します.
import com.android.internal.R;
(4). frameworks/base/core/res/res/values/publicは変更されていません.xml;
4つ目はAndroid 4.1が必要で、Android 4.1の前にリソースファイルを追加し、コンパイル時にpublicに自動的に追加します.xmlでは、Android 4.1になるとできません.手動で追加する必要があります.たとえば、次のようにします.
レイアウトファイルを追加するにはpublic.xmlに次のコードを追加します.
文字列を追加するにはpublic.xmlに次のコードを追加します.
画像を追加するにはpublic.xmlに次のコードを追加します.
レイアウトファイルにコントロールのidを追加する場合はpublic.xmlに次のコードを追加します.
新しく追加されたリソースはpublicに倣います.xmlは中原の方法で加えればいいです.
参照:http://blog.csdn.net/kaiyoushiwo007/article/details/8364353
(0). コンパイル中間ファイルを削除します.
たとえば、Launcher 2のlayoutフォルダにレイアウトファイルが追加されましたが、Launcher 2をコンパイルできず、out/target/common/obj/APPS/Launcher 2_を削除します.intermediatesフォルダのコンパイルに成功しました.
(1). リソースidが間違って書かれ、idが一致しない.
(2). framework-resがコンパイルされていないため、リソースファイルが見つかりません.たとえばframeworkに画像を追加しましたが、framework-resをコンパイルする前にリソースを参照するSystemUIをコンパイルすると、見つからないに違いありません.
(3). importの正しいリソースパッケージがありません.frameworks/base/core/res/resでコンパイルして生成したリソースファイルをout/target/common/R/com/android/internal/R.javaに保存し、そのR.java内にリソースidがあるかどうかを確認してから、ソースコードがあるかどうかを確認します.
import com.android.internal.R;
(4). frameworks/base/core/res/res/values/publicは変更されていません.xml;
4つ目はAndroid 4.1が必要で、Android 4.1の前にリソースファイルを追加し、コンパイル時にpublicに自動的に追加します.xmlでは、Android 4.1になるとできません.手動で追加する必要があります.たとえば、次のようにします.
レイアウトファイルを追加するにはpublic.xmlに次のコードを追加します.
文字列を追加するにはpublic.xmlに次のコードを追加します.
画像を追加するにはpublic.xmlに次のコードを追加します.
レイアウトファイルにコントロールのidを追加する場合はpublic.xmlに次のコードを追加します.
新しく追加されたリソースはpublicに倣います.xmlは中原の方法で加えればいいです.
参照:http://blog.csdn.net/kaiyoushiwo007/article/details/8364353