android 修改ramdisk.img和init.rc && android啟動後設定/data許可權為770

來源:互聯網
上載者:User

有時候希望在啟動後做點事情,比如在sdcard上建立目錄,修改/data的存取權限等,這些都可以放在init.rc中去完成,那麼如何來完成呢,最近由於工作的需要,在這方面進行了一些研究,特寫於此,供大家參考。

      通過下面的例子來講述,實現一個功能:在android系統啟動後,修改/data的存取權限為770.

共4步:1、解壓ramdisk.img 2、用c語言完成要實現的功能 3、修改init.rc,啟動c語言可執行程式  4、製作ramdisk.img

      1、解壓ramdisk.img:

  解壓、修改Android的ramdisk.img的手動方法:

  將ramdisk.img複製一份到任何其他目錄下,將其名稱改為ramdisk.img.gz,並使用命令

  gunzip ramdisk.img.gz

  然後建立一個檔案夾,叫ramdisk吧,進入,輸入命令
  cpio -i -F ../ramdisk.img 
  這下,你就能看見並操作ramdisk裡面的內容了。

  此步可參考:http://blog.csdn.net/liushaogeng/archive/2010/10/14/5941259.aspx

   2、完成一個C語言程式chpermission.c,來實現修改許可權的功能。代碼如下:

     #include <stdlib.h>

      int main()

     {

        system("chmod 700 /data");

         return 0;

 

     }

    然後編譯此程式,不過需要編譯為android下的可執行程式,可參考我的部落格:http://blog.csdn.net/liushaogeng/archive/2010/09/01/5855925.aspx ,採用部落格中介紹的兩種方法均可以。    編譯完後將可執行檔push到模擬器的/data目錄中去:     #adb push chpermission /data

     3、 修改ramdisk目錄下init.rc檔案,讓其啟動 chpermission程式, 增加以下代碼:

     #add by me on 2010-10-18    
     service chpermission   /data/ chpermission 
          oneshot

     用於啟動 chpermission,完成相應的功能--修改data許可權。

     init.rc的文法可參考部落格: http://blog.csdn.net/liushaogeng/archive/2010/10/18/5949244.aspx

     4、製作ramdisk.img,

  init.rc修改之後,可以使用下列命令重新打包成鏡像
  cpio -i -t -F ../ramdisk.img > list
  cpio -o -H newc -O lk.img < list 
  目前的目錄下產生的lk.img就是我們的新鏡像了。 

  可參考部落格: http://blog.csdn.net/liushaogeng/archive/2010/10/14/5941259.aspx

   將ramdisk.img拷貝到sdk指向的目錄。

    全部ok,重啟自己的模擬器,查看data許可權是否為770

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.