• 因为Android内部已经集成了zlib库,对于英文和非密码的Zip文件解压缩还是比较简单的,下面Android123给大家一个解压缩zip的java代码,可以在Android上任何版本中使用,Unzip这个静态方法比较简单,参数一为源zip...
     在Android平台中如何实现Zip文件的解压缩功能呢? 因为Android内部已经集成了zlib库,对于英文和非密码的Zip文件解压缩还是比较简单的,下面Android123给大家一个解压缩zip的java代码,可以在Android上任何版本中使用,Unzip这个静态方法比较简单,参数一为源zip文件的完整路径,参数二为解压缩后存放的文件夹。

    private static void Unzip(String zipFile, String targetDir) {
       int BUFFER = 4096; //这里缓冲区我们使用4KB,
       String strEntry; //保存每个zip的条目名称

       try {
        BufferedOutputStream dest = null; //缓冲输出流
        FileInputStream fis = new FileInputStream(zipFile);
        ZipInputStream zis = new ZipInputStream(new BufferedInputStream(fis));
        ZipEntry entry; //每个zip条目的实例

        while ((entry = zis.getNextEntry()) != null) {

         try {
           Log.i("Unzip: ","="+ entry);
          int count;
          byte data[] = new byte[BUFFER];
          strEntry = entry.getName();

          File entryFile = new File(targetDir + strEntry);
          File entryDir = new File(entryFile.getParent());
          if (!entryDir.exists()) {
           entryDir.mkdirs();
          }

          FileOutputStream fos = new FileOutputStream(entryFile);
          dest = new BufferedOutputStream(fos, BUFFER);
          while ((count = zis.read(data, 0, BUFFER)) != -1) {
           dest.write(data, 0, count);
          }
          dest.flush();
          dest.close();
         } catch (Exception ex) {
          ex.printStackTrace();
         }
        }
        zis.close();
       } catch (Exception cwj) {
        cwj.printStackTrace();
       }
      }

      上面是Android开发网总结的zip文件解压缩代码,希望你大家有用,需要注意的是参数均填写完整的路径,比如/mnt/sdcard/xxx.zip这样的类型。

    展开全文
  • 最近在看《android内核剖析》,很多细节不具体看代码很难理解,记住了印象也不深,感觉还是跟着源码走一遍好些,回来下载android源码,遇到不少问题,终于开始下载了,整理下流程,鉴于网上很多教程时间久了都会失效...

    最近在看《android内核剖析》,很多细节不具体看代码很难理解,记住了印象也不深,感觉还是跟着源码走一遍好些,回来下载android源码,遇到不少问题,终于开始下载了,整理下流程,鉴于网上很多教程时间久了都会失效,本文截止14年4月18日亲测有效。

    需要工具如下:

    下载msysgit,安装     官方下载:http://download.csdn.net/detail/jason0539/7212993
     下载python,安装      官方网址:http://www.python.org
     
    打开Git Bash,执行命令,我是放在d盘的,路径可自定义
     
    cd D:
     
     
    这里会遇到问题,说你连接不上站点,错误代码443
    解决方案,在电脑的hosts文件中添加如下几行,不知道hosts在哪的自行百度
     
    74.125.31.82 www.googlesource.com
    
    74.125.31.82 android.googlesource.com
    
    203.208.46.172 cache.pack.google.com
    
    59.24.3.173cache.pack.google.com
    
    

    添加之后在重新执行上面的命令应该没问题,继续往下
     

     

    输入命令,切换到manifest目录

    cd manifest

     

    git tag 列出android各个分支版本

    下载android-4.4系统源码,输入下面命令,如果要下载其他版本源码,checkout git tag列出的版本号即可

    git checkout android-4.4.2_r1
    checkout之后,manifest/default.xml文件中记录的就是android4.4系统各个模块的路径,
     
     
    下面就轮到python出场了,这里用的是网上的一段python代码,实现源码的批量下载
    执行此脚本的前提是已经执行了git checkout,选择好了要下载的Android源码版本,如果你的manifest文件不是D:/manifest/default.xml,还要把里面的git.exe的路经修改成你的安装路径,请自行修改脚本。
    download-src.py源码:
    import xml.dom.minidom
    import os
    from subprocess import call
    
    #downloaded source path
    rootdir = "D:/android-source"
    
    #git program path
    git = "D:/Program Files/Git/bin/git.exe"
    
    dom = xml.dom.minidom.parse("D:/manifest/default.xml")
    root = dom.documentElement
    
    prefix = git + " clone https://android.googlesource.com/"
    suffix = ".git"
    
    if not os.path.exists(rootdir):
        os.mkdir(rootdir)
    
    for node in root.getElementsByTagName("project"):
        os.chdir(rootdir)
        d = node.getAttribute("path")
        last = d.rfind("/")
        if last != -1:
            d = rootdir + "/" + d[:last]
            if not os.path.exists(d):
                os.makedirs(d)
            os.chdir(d)
        cmd = prefix + node.getAttribute("name") + suffix
        call(cmd)
    
    

    执行这个脚本之后,就开始自动下载了,
     
    截张图:
     
    估计需要一段时间,耐心等待。

    -------------------------------------15年7月28日更新------------------------------------------------------------

    用公司电脑下代码,用的mac,流程跟上面有些不一样,但是还是会遇到网络问题,幸好买了VPN,没有浪费很多时间,想起来这里好多评论提到连接失败的问题

    所以建议大家购买vpn,现在vpn服务有很多,自己任选都可以,

    我自己在用云梯,你不介意的话可以用下面链接购买,便宜10块钱,同时我也能得到10元优惠,算互惠互利吧


    ------------------------------------16年2月17日更新-------------------------------------------------------------
    现在推荐用清华镜像的下载,无需翻墙,速度也比较快,https://wiki.tuna.tsinghua.edu.cn/MirrorUsage/android
    但是还是推荐一下云梯哈,翻墙后方便很多,用此链接购买你我都能优惠10元http://protizi.com/?r=3a3de744a61437e8


     

    作者:jason0539

    微博:http://weibo.com/2553717707

    博客:http://blog.csdn.net/jason0539(转载请说明出处)

    展开全文
  • 编译android源码的过程

    2016-04-09 10:46:40
    (一)解压android源码 源码的位置在:光盘\源码\A31s-4.2-v3.3.tar.gz 将其拷贝到自己的工作目录下,进行解压 tar zxvf A31s-4.2-v3.3.tar.gz 解压完成之后会生成两个目录 android和lichee (二)编译...

    (一)解压android源码
    源码的位置在:光盘\源码\A31s-4.2-v3.3.tar.gz
    将其拷贝到自己的工作目录下,进行解压
    tar zxvf A31s-4.2-v3.3.tar.gz
    解压完成之后会生成两个目录 android和lichee


    (二)编译lichee目录
    首先进入到lichee目录中
    执行命令:./build.sh -p sun6i_fiber_a31s


    只有出现compile success 的时候才算是编译成功
    (三)编译android目录
    首先进入到android目录中,然后设置环境变量
    输入命令:source build/envsetup.sh

    然后选择配置方案,输入命令lunch
    我们在这里选择19


    拷贝lichee目录下编译好的uboot和kernel
    命令:extract-bsp

    进行编译  
    命令:make -j8 //make 后面的数字是根据cpu的内核来确定的,大家可以视情况而定


    编译完成之后我们就可以对他进行打包了
    打包命令:pack

    生成可以烧写的镜像 sun6i_android_fiber-a31stm.img, 镜像所在目录为:/home/hyyb/work/sinlinx/A31-4.2/lichee/tools/pack
    最后将我们打包好的镜像文件烧写到我们的sinlinx开发板中。
    展开全文
  • 第一步:准备好centos的镜像,我这里使用的centos7的镜像 第二步:准备好jdk6的镜像文件 ...第五步:用7zip解压Android源码,这一步会等很久... 第六步: # gedit /etc/profile  在这个文件末尾添加:

       第一步:准备好centos的镜像,我这里使用的centos7的镜像

    第二步:准备好jdk6的镜像文件

    第三步:准备好yum包,我这里用的是64位Linux版

    第四步:准备好Android源码包,我用的是Linux版Android4.4的源码包

    第五步:用7zip解压Android源码,这一步会等很久...

    第六步: # gedit /etc/profile 

    在这个文件末尾添加:


    export JAVA_HOME=/home/soft/jdk1.8.0_111 
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
    export PATH=${JAVA_HOME}/bin:$PATH
    source /etc/profile     

    第七步:安装yum

    rpm -qa | grep yum  查看已安装的yum

    # rpm -ivh yum-* 安装已下载好的yum ,rep -ivh /home/aa/yum3.4.3的全路径

    yum install vim测试是否安装成功

       第八步:yum安装好后就能安装7zip了:

    # yum install p7zip

    # wget  http://sourceforge.net/projects/p7zip/files/p7zip/9.13/p7zip_9.13_src_all.tar.bz2/download

    # tar jxvf p7zip_9.13_src_all.tar.bz2

    # cd p7zip_9.13

    #  make

    # make install

    使用make -version判断是否安装成功

    然后就能使用 7za x /home/aaa/xxxx.7z解压7z文件了

    第九步:开始编译Android源码

    下载repo工具

           mkdir ~/bin
    # PATH=~/bin:$PATH
    # curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
    # chmod a+x ~/bin/repo     

    # gedit ~/bin/repo 修改这个文件中的REPO_URL将

    https://gerrit.googlesource.com/git-repo改为https://mirrors.tuna.tsinghua.edu.cn/git/git-repo         

    第十步:安装需要的依赖库

    注意:这里必须要有网,不然会报错

    $ sudo yum install -y gcc make libstdc++.i686 libstdc++-devel.i686 zlib-devel openssl-devel perl cpio expat-devel gettext-devel autoconf glibc.i686 glibc-devel.i686 zlib-devel.i686 libstdc++.i686 libX11-devel.i686 ncurses-devel.i686 ncurses-libs.i686 gperf flex gcc-c++ bison patch

    # source build/envsetup.sh

    # lunch 2

    # make -j4

    第十一步:一般分配的虚拟空间大于50G,我这里分配了70G

    编译完成后,运行模拟器

    #  source build/envsetup.sh

    # lunch  sdk-eng

    # emulator

    若运行模拟器出错还要配置环境

    #gedit ~/.bashrc

    export ANDROID_PRODUCT_OUT=~/android4.4/target/product/generic
    DROID_PRODUCT_OUT_BIN=~/android4.4/host/linux-x 86/bin
    export PATH=${PATH}:${ANDROID_PRODUCT_OUT_BIN}:${ANDROID_ PRODUCT_OUT};

    # source ~/.bashrc 保存修改

    # cd ~/android4.4/out/target/product/generic

    # emulator -system system.img -data userdata.img -ramdisk ramdisk.img

    运行模拟器报错解决方案:http://blog.csdn.net/penglijiang/article/details/9046591



























    
    


    展开全文
  • windows下载android源码

    2018-05-23 10:01:36
    windows下载android源码的方法 http://blog.csdn.net/freekiteyu/article/details/70939672
    展开全文
  • 现在我们来谈谈android源码编译的一些事.(俺认为,作为android developer人人都应该有一份自己Android源码,这样我们就可以随时对自己有疑惑的地方通过亲手调试来加强理解).本文适用于以下以下编译途径: Ubuntu 16.04...
  • 记一次编译Android源码

    2018-01-16 14:24:35
    前言:已经是第二次编译Android源码了,由于距离第一次编译Android源码的时间较长,所以有一些编译源码的命令以及编译的时候遇到问题的解决方法都忘记了,需要重新查找相关资料,这样就显得有些事倍功半了,故写下这...
  • 我们知道Android源码很大,一般都有15G。如果我们需要压缩Android源码的话,只需借用git工具就可以实现了。我们现将.git文件夹压缩成一个gz包(tar -czf file.tar.gz .git ),然后将该gz包保存即可。当需要用源码的...
  • http://source.android.com/source/downloading.html   参考文档   $ mkdir ~/bin $ PATH=~/bin:$PATH $ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo $ chmod a+x...
  • 这里以下载Android4.3中的计算器源码为例 步骤如下: 1.下载msysgit http://code.google.com/p/msysgit/downloads/list 2.默认安装,打开gitbash 3.主要的操作命令如下 cd d: git clone ...
  • Mac下查看Android源码

    2017-07-31 22:16:59
    浏览源码是成为高手的必经之路,下面讲解一下在Mac上如何查看Android源码
  • 早就想编译Android源码,但是前前后后经历好长时间都没有把它搞出来,就这样拖着,直到昨天晚上才真正的把Android8.0源码给编译出来。一开始在Mac下面编译的,但是环境搭建配置非常麻烦,而且问题特别多,编译到最后...
  • 一直想下载、编译、调试一下Android源码 ,加强对一些framework的理解,搞了好多次,终于可以正常调试了。这里进行一些总结和分享。 Android源码到模拟器运行,主要有的四个步骤: 下载源码 搭建编译环境 准备...
  • 下载最新Android系统源码,可以在国内的清华大学Android源码镜像下载,速度也是挺快的。我晚上几个小时就下载下来了。方法如下: 我的为VM虚拟机,安装ubuntu 14.04,安装git等常用的工具。 (1)下载 repo ...
  • 1. 前言 在Android安全的研究工作中,我们时常要对Android进行改进并...因此在一般的科学实验中我们更多的是将修改好的android源码编译成模拟器,以模拟器的形式证明实验的成功与否。 事实上,Android作为一款开放源代
  • 由于目前的项目需要修改android的内核源码,所以我需要从android源码的编译开始学习.下面看一下我的编译环境. 我使用的Ubuntu系统的版本是14.04,64位. gcc版本:4.8.8编译过程我是看着google开发者官网,以及...
  • vlc-android源码的编译

    2016-05-26 13:51:51
    vlc-for-android 源码编译详解
  • 对于Android开发者来说,熟悉源码并没有坏处.我个人认为,熟悉源码之后可以更好的理解Android的工作流程,而且在我们开发的时候,知道原理,可以给予我们很多的帮助.比如说,自定义View的时候,你知道Android的View绘制流程...
  • 最近尝试下载并编译... Android源码:Android 7.0  JDK: jdk 1.8.0_77    下载源码  step1:因为我的mac硬盘空间比较小,所以我直接在移动硬盘上操作的,如果mac的空间够大也可以在内置硬盘操作。由于mac文
  • android 源码打patch

    2016-11-16 11:46:45
    #/bin/sh CURRENT=`pwd` ANDROID="android_dir" ... tar xzvf $CURRENT/android_dir.tar.gz #解压源码到当前目录  cp $CURRENT/patch_dir/android_dir $CURRENT -rf #拷贝patch_dir下同名androi
1 2 3 4 5 ... 20
收藏数 23,703
精华内容 9,481