我手头有个apk文件,准备预置到系统中,用户是不能删除的。
这个apk通过push命令不能运行,只能通过install命令安装才能运行。

解决方案 »

  1.   

    push只是下载文件到设备 install才是安装Apk你要用户不能删除可以把apk放到system/app文件下,再重启一次。system/app 
     系统自带的应用程序,无法删除
     
    data/app
     用户程序安装的目录,有删除权限。
      

  2.   

    能不能将这apk直接打包到system.img中?
      

  3.   

    如果是install预置进去的话,在应用程序管理一样可以删除;
    想删除不了,只有修改代码
    不知道你们添加apk是怎么添加的,我们这直接在andorid根目录下新建了一个文件夹,直接把需要预置的apk放进去,再修改一下Android.mk文件就OK了
      

  4.   


    下载root工具,root设备一下,如果文件系统是只读的还要remount一次设成可读写的文件系统。
      

  5.   

    可以啊,有源码的话,直接把它放在out/target/product/generic/system/app目录下,然后make snod就行了啊
      

  6.   

    第三方应用 ,没有code敢不敢细说下,
    我搜了下 我的问题同http://topic.csdn.net/u/20100927/16/041313DD-5ACB-4399-8E43-E21251E1F7A0.html#r_68708650
      

  7.   

    我说的不是应用的code哦,我是的是android的源码啊
      

  8.   

    将apk内置在system/app下
    将其所需lib放在system/lib下
    已完成~!敢问 修改Android.mk是怎么处理了?我今天试了编译不通过!~
      

  9.   

    修改Android.mk将apk文件复制到system/app下,将解包出来的lib库,放到system/lib下就行了
      

  10.   

    我是这么实现系统预装apk的:你先adb install 之后,adb shell 进去看看在/system/app、/system/lib、/data等下都多了什么,把它们全都pull出来。我记得会有classes.dex一系列文件,也要pull到本地,不仅仅是.apk和.so 的,也会出现拆分apk-1 和apk-2情况。总之要pull 全。不用修改Android.mk,init.rc末尾添加一个脚本(通常系统开发都会添加的),把pull出来的资源全部放入烧写包, 在系统启动时增加cp 这些资源文件 到 你的系统文件目录 ,别忘记chmod 。就是实现在启动系统的时候,自己copy 一下。 这样就实现预装了,而且用户无法卸载。只能root 后adb shell 进来rm掉相关资源文件达到删除的目的。 
      

  11.   

    你可以在Application Manager里看到你所预装的app的大小,如果和adb install进去的大小不一样,就是少东西了。
    这样方便自查
      

  12.   

    恩,没有源码直接预装的情况妞妞已经说的很清楚了,如果你是源码开发(android源码)的话,比这个应该简单多了。直接把它放在out/target/product/generic/system/app目录(前提是你已经编过了一次)下,然后make snod就会将这个apk打包到system.img中,如果是模拟器开发,就用生成的那几个img替换掉SDK里面相对应版本的img就行了
      

  13.   

    预置apk没那么复杂的,只需要把apk放到out/target/product/***/system/app目录下就可以了,该目录下的文件,在系统启动过程中,会通过packageManager进行安装的,就和你用install安装的效果一样。
    如果是做手机的话,就需要些一些makefile在编译的过程中,把你的apk拷贝到上面提高的目录下,这样就不用每次出版本的时候,都需要再拷贝一次了。
      

  14.   

    把apk放到out/target/product/***/system/app目录下就可以了.
      

  15.   

    终于找到了,解决了困扰我很久的问题,不但要把apk放到system/app下,如果apk中引用了so库的话,还要把so文件放到system/lib下面,不然那个程序运行不起来,感谢这份帖子。
      

  16.   

    push的话需要push到对应目录并且重新开关机才会生效