ライブラリ プロジェクトを介してプロジェクト間でリソースを共有しています。構造は次のとおりです。
MyLibProject
`-- res
`-- raw
`-- my_shared_res
`-- AndroidManifest.xml
`-- Shared user id -> my.shared.user.id
`-- Package -> some.package
MyProject
`-- AndroidManifest.xml
`-- Shared user id -> my.shared.user.id
`-- Package -> some.other.package
の内部Activity
にMyProject
アクセスしたいのですR.raw.My_shared_res
が、次のことに気付きました:
getResources().openRawResource(R.raw.my_shared_res)
-> ファイルの正しい内容を返しますContext c = createPackageContext("some.package", Context.CONTEXT_INCLUDE_CODE & Context.CONTEXT_IGNORE_SECURITY); c.getResources().openRawResource(R.raw.my_shared_res);
-> 暗号化されていると思われる別のコンテンツを返します。
誰かがなぜこれが起こるのか説明できますか?
編集: Android Developers google group に質問を投稿しました。こちらのリンクからも回答を見ることができます