有时我们需要用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. AOJ GRL_1_A: Single Source Shortest Path (Dijktra算法求单源最短路径,邻接表)

    题目链接:http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=GRL_1_A Single Source Shortest Path In ...

  2. SpringBoot学习笔记(1)----环境搭建与Hello World

    简介: Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配 ...

  3. moment.js获取本周本月本年的开始日期和结束日期

    //获取本日 const startDate = moment().format('YYYY-MM-DD'); const startDate = moment().format('YYYY-MM-D ...

  4. 获取鼠标经过处的标签的标签名和id

    <script> var el = window.document.body; // 声明一个变量,默认值为body window.document.body.onmouseover = ...

  5. CF474F Ant colony

    #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> #i ...

  6. ActiveMQ客户端配置使用

    一.通过JNDI来使用ActiveMQ 1.jndi配置JMS对象 java.naming.factory.initial = org.apache.activemq.jndi.ActiveMQIni ...

  7. CentOS7 部署SVN服务器

    服务器端:svnserver 安装主要步骤 yum install subversion rpm -ql subversion mkdir /application/svndata mkdir /ap ...

  8. Union File System

    目录 Union File System AUFS Docker是如何使用AUFS的 image layer 和 AUFS (docker版本不同可能会有区别,我的是在/var/lib/docker下 ...

  9. python 面向对象 继承

    什么是继承 继承表达的是一种”是“的关系,比如人是动物 继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类 继承是基于抽象的结 ...

  10. 紫书 例题8-18 UVa 1442 (扫描法)

    从左往右扫描一遍, 得从每个位置往右伸长不会碰到天花板的高度, 右往左一样, 取最小, 然后就是可以放"水"的高度了 #include<cstdio> #include ...