当我使用系统证书对应用程序进行签名时,我将无法再使用自定义本机库随附的SDK。 SDK执行该本地库中的代码。未将我的应用程序签名为系统应用程序时一切正常,但签名后出现错误。
错误似乎来自SELinux策略,并带有以下日志消息:
type = 1400审核(0.0:22):avc:拒绝{执行} comm = 4173796E635461736B202331 path =“ / data / data / myapp / cache / librs.bitmap_to_argb.so” dev =“ mmcblk0p22” ino = 16791 scontext = u:r:system_app:s0 tcontext = u:object_r:system_app_data_file:s0 tclass =文件允许== 0
为什么我的应用程序无法执行位于应用程序内部存储中的库?
答案 0 :(得分:0)
系统应用程序希望其本机库位于/ system / lib或lib64目录中。如果在应用清单中设置 android:extractNativeLibs =“ false” ,也许可以避免这种情况。