category: Android
DATE : 2011/05/07 (Sat)
DATE : 2011/05/07 (Sat)
frameworks/base/services/java/com/android/server/PackageManagerService.javaのscanPackageLI(PackageParser.Package, int, int, long)メソッド内の処理に、以下のようなコメントがあります。
Note: We don't want to unpack the native binaries for system applications, unless they have been updated (the binaries are already under /system/lib). Also, don't unpack libs for apps on the external card since they should have their libraries in the ASEC container already. In other words, we're going to unpack the binaries only for non-system apps and system app upgrades.
本コメントがあるscanPackageLIメソッドは、アプリケーションのインストール関連のメソッドから呼ばれています。
結果、ApplicationInfo.FLAG_SYSTEMの立つアプリケーションのapk内のネイティブライブラリは、/data/dataの下に展開されません。システムアプリケーションのネイティブライブラリは、必ず/system/libに置かなければなりません。ただし、Android Marketなどからでのアップデート時には/data/dataの下に展開されます。
本変更の入ったコミットIDは、4f99e3c28449833b10ee23c538246847fdb6a498です。コミットメッセージに、具体的な動作が述べられています。本コミットは、Android 2.2(Froyo)以上に含まれています。
PR
●この記事にコメントする
忍者ブログ [PR]