Unity 如何将apk放到Android系统的system里
有时我们需要用unity开发一款Android的系统软件,很坑,步骤如下:
1、用unity打包出来,签名。
2、用解压工具打开签过名的apk。
3、将lib里面的.so文件复制出来。
4、adb root 回车,adb remount 回车,adb shell 回车,cd system/lib 回车,
mkdir -p apk的名字 回车(此命令的含义是在lib下建一个名字为“apk名字”的文件夹,很重要),
exit 回车。
5、adb push .so文件的路径 /system/lib/apk名字/.so的名字 回车
adb push apk的路径 /system/app/apk的名字 回车
6、adb reboot 回车,搞定
可能用到的命令:(用于删除系统软件)
1、删除文件:
adb shell 回车
cd system/app 回车
rm apk的名字 回车
exit 回车
如果出现“ 'XXXXX': Read-only file system”时,如果adb root , adb remount 后仍然存在Read-only等字样,应先adb disable-verity回车
adb reboot回车
再重复上述操作
--------------2017.7.28 Update-----------------
1、直接用上述方式,可能删除不干净apk,在执行完上述删除操作后,最好把/storage/emulated/0/Android/data/包名 这个目录也删掉,这个就能删除干净了。
2、关于 .so 库的问题:
如果你是将apk直接push到/system/app/apk名字.apk路径下的,需要将libmain.so, libmono.so, libunity.so push到/system/lib/apk的名字/路径下。
如果你是将apk push到/system/app/(任起个名字)/apk的名字.apk 路径下,则需要将上述三个.so 放到/system/app/(刚才起的那个名字)/lib/arm/路径下
如果缺少上述三个.so就会报
Failure to initialize!
Your hardware does not support this application, sorry!
或者log里显示Unity : Unable to find main
这样之类的错误。
博客园Jason_c微信打赏码
如果本篇文档对你有帮助,打赏Jason_c根华子吧,他的私房钱被老婆没收了,呜呜!