有时我们需要用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

这样之类的错误。

Unity 如何将apk放到Android系统的system里的更多相关文章

  1. 替换Android系统镜像system.img的方法

    之前改动了Android的系统源代码的framework层代码,定制ROM.通过make之后会生成三个镜像文件userdata.img.system.img.ramdisk.img三个文件.这个时候我 ...

  2. Android系统加载Apk文件的时机和流程分析(1)--Android 4.4.4 r1的源码

    本文博客地址:https://blog.csdn.net/QQ1084283172/article/details/80982869 Android系统在启动时安装应用程序的过程,这些应用程序安装好之 ...

  3. android系统将普通应用升级为系统应用

    作为一名程序员,有的时候并不是使用软件,而是去改造软件,不仅仅只是会编程而已,还要满足客户的需求.这样,才能开发出符合客户需求的应用,在关于到涉及到android底层的应用的时候,手机就需要root了 ...

  4. Android系统Root原理初探(转)

    http://www.imooc.com/learn/126 chkconfig setup 解压update.zip这个文件,可发现它一般打包了如下这几个文件: 或者没有updates而是syste ...

  5. Android系统驱动【转】

    本文转载自:http://www.hovercool.com/en/%E6%B7%BB%E5%8A%A0%E9%A9%B1%E5%8A%A8%E6%A8%A1%E5%9D%97#a_.E5.9B.9B ...

  6. Android系统HAL开发实例

    1.前言 Android系统使用HAL这种设计模式,使得上层服务与底层硬件之间的耦合度降低,在文件: AOSP/hardware/libhardware/include/hardware/hardwa ...

  7. 【转】Android系统中的.apk文件和dex文件

    1. *.apk文件 APK是Android Package的缩写,即Android安装包.通过将APK文件直接传到Android模拟器或Android手机中执行即可安装. 使用Android打包工具 ...

  8. 通过PHP怎样取到android系统下apk应用的包名,版本号等信息

    公司项目关系,要求在通过PHP解析android系统应用apk包内的一切可用的信息.比如说:APK包名,版本号,版本名,安装权限等一系列关于对应包的信息.通过google查找相关的解决方案,都没有找到 ...

  9. Android系统使用Shell脚本预装apk

    客户需求:需要在Android系统预安装一个或者若干个apk,客户可以选择自行卸载并且卸载后系统再次启动并不会再次自动安装. 考虑到需要批量安装应用,我这里考虑到使用灵活的shell脚本.shell脚 ...

随机推荐

  1. Ubuntu系统下安装Eclipse

    第一步:查看操作系统位数. 打开终端,输入file /sbin/init 可以看到笔者Ubuntu系统为32位,读者可以使用该命令获取自己机器上的操作系统位数. 这一步是最至关重要的一步,笔者机器处理 ...

  2. 【学习】java下实现调用oracle的存储过程和函数

    在oracle下创建一个test的账户,然后按一下步骤执行: 1.创建表:STOCK_PRICES --创建表格CREATETABLE STOCK_PRICES( RIC VARCHAR(6) PRI ...

  3. hdu 1257/1800 - 贪心,dp

    1257题目链接 一个序列划分子序列,每个子序列都是非增序列,问最少分成几个子序列 1800题目链接 一堆数分组,每组内数据严格递减,问最少分几组 -------------------------- ...

  4. win10关闭更新

    计算机--管理: 找到windows update 服务关闭:

  5. Matplotlib 画廊

    https://matplotlib.org/gallery.html

  6. 妙用$.extend

    在js中,我们有时需要复制一个对象的值,而不是复制它的引用的时候,可以使用jquery的$.extend方法,简单代码如下 <script> var a = { "name&qu ...

  7. Mojo For Chromium Developers

    Overview This document contains the minimum amount of information needed for a developer to start us ...

  8. requests 常见方法总结

    请求设置:requests.get/post ( url, data={}, params={}, headers={}, timeout=0.01, files={}   Session()    ...

  9. 【BZOJ2006】【NOI2010】超级钢琴

    题意: Description 小Z是一个小有名气的钢琴家,最近C博士送给了小Z一架超级钢琴,小Z希望能够用这架钢琴创作出世界上最美妙的音乐. 这架超级钢琴可以弹奏出n个音符,编号为1至n.第i个音符 ...

  10. 【Computer Vision】角点检测和匹配——Harris算子

    一.基本概念 角点corner:可以将角点看做两个边缘的交叉处,在两个方向上都有较大的变化.具体可由下图中分辨出来: 兴趣点interest point:兴趣点是图像中能够较鲁棒的检测出来的点,它不仅 ...