deepin编译android_deepin 编译android - CSDN
  • 1.下载Git $ sudo apt-get install git 终端中输入Git验证是否安装完毕 2.安装python sudo apt-get install python 3.安装curl sudo apt-get install curl 4.下载Repo ...$ mkdir bin ...

    1.下载Git

    $ sudo apt-get install git

    终端中输入Git验证是否安装完毕 

    2.安装python

    sudo apt-get install python

    3.安装curl

    sudo apt-get install curl

    4.下载Repo

    $ cd ~                    #进入主目录 
    $ mkdir bin               #创建bin文件夹
    $ PATH=~/bin:$PATH        #将bin文件夹加入系统路径中
    $ curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo    #清华aosp
    $ chmod a+x ~/bin/repo

    输入repo验证是否安装完毕

    至此下载源代码的环境已完成。


     

    5.下载源码

    https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar 

    利用其他下载工具从上述链接下载,共70GB+

    或者从第三方下载也行,不建议在Google下载,太慢太慢了

    6.配置repo

    #进入刚才创建的bin目录下
    
    $ mkdir source 
    $ cd source
    $ tar xf aosp-latest.tar    # 解压得到的 AOSP 工程目录
    $ cd aosp                   # 里面文件是隐藏的,注意aosp大小写
    $ repo sync                 # 正常同步一遍即可得到完整目录

    执行repo 配置中遇到的问题

    OSError: [Errno 13] Permission denied: 

    原因是当前用户对此文件夹没有所有权限,解决方式:

    sudo chown -R 用户名 路径

    例如:

    OSError: [Errno 13] Permission denied: '/home/xlu/bin/source/aosp/.repo/manifests.git/.repo_config.json'
    
    $ sudo chown -R xlu /home/xlu/bin/source/aosp
    

    7.源码维护

    在经过漫长等待后,repo sync 完成后既可得到同步目录。

    此后,每次只需运行 repo sync 即可保持同步。 我们强烈建议您保持每天同步,并尽量选择凌晨等低峰时间

    替换已有的 AOSP 源代码的 remote

    如果你之前已经通过某种途径获得了 AOSP 的源码(或者你只是 init 这一步完成后), 你希望以后通过 TUNA 同步 AOSP 部分的代码,只需要将 .repo/manifest.xml 把其中的 aosp 这个 remote 的 fetch 从 https://android.googlesource.com 改为 https://aosp.tuna.tsinghua.edu.cn/

    <manifest>
    
       <remote  name="aosp"
    -           fetch="https://android.googlesource.com"
    +           fetch="https://aosp.tuna.tsinghua.edu.cn"
                review="android-review.googlesource.com" />
    
       <remote  name="github"
    

    同时,修改 .repo/manifests.git/config,将

    url = https://android.googlesource.com/platform/manifest
    

    更改为

    url = https://aosp.tuna.tsinghua.edu.cn/platform/manifest
    
    展开全文
  • 首先去应用商店下载Android Studio 商店的版本2.3,最近才更新的,算是比较新的了。 1.5G左右大小,我商店下载速度是200+kb/s,耐心等待吧 几个小时后,下载完毕,点击打开按钮,Android Studio启动,这个时候...

    首先去应用商店下载Android Studio
    这里写图片描述
    商店的版本2.3,最近才更新的,算是比较新的了。
    1.5G左右大小,我商店下载速度是200+kb/s,耐心等待吧
    几个小时后,下载完毕,点击打开按钮,Android Studio启动,这个时候还新建不了工程,需要下载Android SDK,1.2G大小,又是一个漫长的过程。
    几个小时后,SDK安装完毕,新建一个工程,由于我点了C++ support,后面又要下载NDK,又是一段时间。但是,当我新建工程后,却无法打开,一直卡在这里
    这里写图片描述
    不知道怎么回事,还以为是Android Studio有问题,后来通过命令行打开,看到无法启动是因为一直在下载Gradle。我果断把Gradle的版本改成我以前下载过的版本,终于进去了。
    但,还没完!!!
    由于我勾选了C++ support,所以需要下载NDK
    这里写图片描述
    下载完后,好像还要下载cmake。。。
    这些东西都下好后,启动APP,(⊙o⊙)…,无法启动,因为安卓模拟器还没有启动,需要下载Android模拟器,下吧,还能咋办。等等等。下完后,AVD无法启动。
    还好论坛早有人给了解决办法 安卓开发者在使用deepin时可能会遇到的问题
    按照指示,AVD能启动了一个小Demo能跑起来了。
    这里写图片描述
    从下午5点开始下载Android Studio,到晚上11点跑出来这个Demo,足足花了6个小时。环境搭好了,回去安安心心睡觉,O(∩_∩)O哈哈~。
    本来到这里就该结束的,第二天,我照样启动Android Studio,启动APP,~~(>_<)~~,AVD又无法启动。昨天晚上还好好的,怎么今天又出问题了。用命令行启动——提示

    PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT

    我设置ANDROID_SDK_ROOT,可不管我怎么设置就是有问题,比方说

    PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value [/home/pikachu/Android/Sdk]

    后来,不知道怎么想到的,我修改了ANDROID_HOME,AVD启动了。

    pikachu@DESKTOP-I5EFT4D:~/Android/Sdk/tools$ ./emulator -avd Nexus_5X_API_26_1
    PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT
    pikachu@DESKTOP-I5EFT4D:~/Android/Sdk/tools$ locate android-sdk.sh
    pikachu@DESKTOP-I5EFT4D:~/Android/Sdk/tools$ $ANDROID_HOME
    bash: /opt/android-sdk: 是一个目录
    pikachu@DESKTOP-I5EFT4D:~/Android/Sdk/tools$ export ANDROID_HOME=/home/pikachu/Android/Sdk
    pikachu@DESKTOP-I5EFT4D:~/Android/Sdk/tools$ ./emulator -avd Nexus_5X_API_26_1
    path /home/pikachu/.android/avd/Nexus_5X_API_26.avd/system.img.qcow2
    Your emulator is out of date, please update by launching Android Studio:
     - Start Android Studio
     - Select menu "Tools > Android > SDK Manager"
     - Click "SDK Tools" tab
     - Check "Android Emulator" checkbox
     - Click "OK"
    
    
    

    ( ⊙ o ⊙ )啊!

    展开全文
  • 前几天装了deepin15.7美滋滋,然后开始折腾编译.LOS15.1(android8.1),在此记录遇到的问题 1.大天朝下载源码是个问题,换个hosts即可,这里我用的是 https://github.com/googlehosts/hosts 手动黏贴hosts中的...

    前几天装了deepin15.7美滋滋,然后开始折腾编译.LOS15.1(android8.1),在此记录遇到的问题

    1.大天朝下载源码是个问题,换个hosts即可,这里我用的是

    https://github.com/googlehosts/hosts
    

    手动黏贴hosts中的内容到/etc/hosts 拔掉网线重新插入即可

    sudo gedit /etc/hosts
    

    2.安装需要的依赖

    sudo apt-get update && sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk3.0-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev openjdk-8-jre openjdk-8-jdk pngcrush schedtool libxml2 libxml2-utils xsltproc lzop libc6-dev schedtool g++-multilib lib32z1-dev lib32ncurses5-dev gcc-multilib maven tmux screen w3m ncftp liblz4-tool pngquant rsync
    

    不出意外这里安装lib32ncurses5-dev 会报如下错误

    下列软件包有未满足的依赖关系:
     lib32ncurses5-dev : 依赖: libncurses5-dev (= 6.0+20170715-2)
    E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
    

    解决方法替换软件源

    sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
    sudo gedit /etc/apt/sources.list
    

    我这里用的阿里的文件如下

    ## Generated by deepin-installer
    deb [by-hash=force] http://packages.deepin.com/deepin panda main contrib non-free
    #deb-src http://packages.deepin.com/deepin panda main contrib non-free
    
    deb http://mirrors.aliyun.com/ubuntu/ trusty main multiverse restricted universe 
    deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main multiverse restricted universe 
    deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main multiverse restricted universe 
    deb http://mirrors.aliyun.com/ubuntu/ trusty-security main multiverse restricted universe 
    deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main multiverse restricted universe 
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty main multiverse restricted universe 
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main multiverse restricted universe 
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main multiverse restricted universe 
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main multiverse restricted universe 
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main multiverse restricted universe
    

    更新下

    sudo apt-get update
    

    很好又出现一个错误

    错误:3 http://mirrors.aliyun.com/ubuntu trusty-security InRelease                     
      由于没有公钥,无法验证下列签名: NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32
    

    添加签名即可

    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5
    
    完成
    Executing: /tmp/apt-key-gpghome.RxSrDCHNRU/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5
    
    gpg: key 40976EAF437D05B5: 59 signatures not checked due to missing keys
    gpg: 密钥 40976EAF437D05B5:公钥“Ubuntu Archive Automatic Signing Key <ftpmaster@ubuntu.com>”已导入
    gpg: 合计被处理的数量:1
    gpg:           已导入:1
    
    

    来,再执行更新

    sudo apt-get update
    

    然后安装刚才失败的lib32ncurses5-dev

    sudo aptitude install  lib32ncurses5-dev
    

    这里进行的是降级安装 输入y y y…即可

    下列“新”软件包将被安装。         
      lib32ncurses5-dev{b} lib32tinfo-dev{ab} 
    0 个软件包被升级,新安装 2 个,0 个将被删除, 同时 19 个将不升级。
    需要获取 186 kB 的存档。解包后将要使用 842 kB。
    下列软件包存在未满足的依赖关系:
     lib32ncurses5-dev : 依赖: lib32tinfo5 (= 5.9+20140118-1ubuntu1) but 6.0+20170715-2 is installed
                         依赖: lib32ncurses5 (= 5.9+20140118-1ubuntu1) but 6.0+20170715-2 is installed
                         依赖: libncurses5-dev (= 5.9+20140118-1ubuntu1) but 6.1+20180210-4 is installed
     lib32tinfo-dev : 依赖: lib32tinfo5 (= 5.9+20140118-1ubuntu1) but 6.0+20170715-2 is installed
    下列动作将解决这些依赖关系:
    
         保持 下列软件包于其当前版本: 
    1)     lib32ncurses5-dev [未安装的]
    2)     lib32tinfo-dev [未安装的]   
    
    
    
    是否接受该解决方案?[Y/n/q/?] n
    下列动作将解决这些依赖关系:
    
          删除 下列软件包:                                                         
    1)      deepin-libwine:i386 [2.18-14~rc1 (now)]                                 
    2)      deepin-wine [2.18-14~rc1 (now)]                                         
    3)      deepin-wine32:i386 [2.18-14~rc1 (now)]                                  
    4)      deepin-wine32-preloader:i386 [2.18-14~rc1 (now)]                        
    5)      deepin.com.qq.im:i386 [8.9.19983deepin23 (now)]                         
    6)      deepin.com.wechat:i386 [2.6.2.31deepin0 (now)]                          
    7)      libncurses-dev [6.1+20180210-4 (now)]                                   
    8)      libncurses-dev:i386 [6.1+20180210-4 (now)]                              
    9)      libncurses5:i386 [6.1+20180210-4 (now)]                                 
    10)     libncurses5-dev:i386 [6.1+20180210-4 (now)]                             
    
          安装 下列软件包:                                                         
    11)     libncurses5 [5.9+20140118-1ubuntu1 (trusty)]                            
    12)     libtinfo-dev [5.9+20140118-1ubuntu1 (trusty)]                           
    
          降级 下列软件包:                                                         
    13)     lib32ncurses5 [6.0+20170715-2 (now) -> 5.9+20140118-1ubuntu1 (trusty)]  
    14)     lib32tinfo5 [6.0+20170715-2 (now) -> 5.9+20140118-1ubuntu1 (trusty)]    
    15)     libncurses5-dev [6.1+20180210-4 (now) -> 5.9+20140118-1ubuntu1 (trusty)]
    16)     libreadline6 [6.3-9 (now) -> 6.3-4ubuntu2 (trusty)]                     
    17)     libtinfo5 [6.1+20180210-4 (now) -> 5.9+20140118-1ubuntu1 (trusty)]      
    18)     libtinfo5:i386 [6.1+20180210-4 (now) -> 5.9+20140118-1ubuntu1 (trusty)] 
    19)     ncurses-base [6.1+20180210-4 (now) -> 5.9+20140118-1ubuntu1 (trusty)]   
    20)     ncurses-bin [6.1+20180210-4 (now) -> 5.9+20140118-1ubuntu1 (trusty)]    
    
    
    
    是否接受该解决方案?[Y/n/q/?] y
    下列软件包将被“降级”:
      lib32ncurses5 lib32tinfo5 libncurses5-dev libreadline6 libtinfo5 libtinfo5:i386 
      ncurses-base ncurses-bin 
    下列“新”软件包将被安装。
      lib32ncurses5-dev lib32tinfo-dev{a} libncurses5{a} libtinfo-dev{a} 
    下列软件包将被“删除”:
      deepin-libwine:i386{a} deepin-wine{a} deepin-wine32:i386{a} 
      deepin-wine32-preloader:i386{a} deepin.com.qq.im:i386{a} 
      deepin.com.wechat:i386{a} libncurses-dev{a} libncurses-dev:i386{a} 
      libncurses5:i386{a} libncurses5-dev:i386{a} libncursesw6:i386{u} 
    0 个软件包被升级,新安装 4 个,8 个被降级,11 个将被删除, 同时 19 个将不升级。
    需要获取 1,104 kB 的存档。解包后将释放 333 MB。
    您要继续吗?[Y/n/?] y
    读取: 1 http://mirrors.aliyun.com/ubuntu trusty/main amd64 ncurses-base all 5.9+20140118-1ubuntu1 [16.6 kB]
    读取: 2 http://mirrors.aliyun.com/ubuntu trusty/main amd64 libreadline6 amd64 6.3-4ubuntu2 [116 kB]
    读取: 3 http://mirrors.aliyun.com/ubuntu trusty/main i386 libtinfo5 i386 5.9+20140118-1ubuntu1 [70.8 kB]
    读取: 4 http://mirrors.aliyun.com/ubuntu trusty/main amd64 libtinfo5 amd64 5.9+20140118-1ubuntu1 [75.0 kB]
    读取: 5 http://mirrors.aliyun.com/ubuntu trusty/main amd64 libncurses5 amd64 5.9+20140118-1ubuntu1 [93.6 kB]
    读取: 6 http://mirrors.aliyun.com/ubuntu trusty/main amd64 libncurses5-dev amd64 5.9+20140118-1ubuntu1 [170 kB]
    读取: 7 http://mirrors.aliyun.com/ubuntu trusty/main amd64 libtinfo-dev amd64 5.9+20140118-1ubuntu1 [76.3 kB]
    读取: 8 http://mirrors.aliyun.com/ubuntu trusty/main amd64 ncurses-bin amd64 5.9+20140118-1ubuntu1 [137 kB]
    读取: 9 http://mirrors.aliyun.com/ubuntu trusty/main amd64 lib32ncurses5 amd64 5.9+20140118-1ubuntu1 [92.9 kB]
    读取: 10 http://mirrors.aliyun.com/ubuntu trusty/main amd64 lib32tinfo5 amd64 5.9+20140118-1ubuntu1 [70.3 kB]
    读取: 11 http://mirrors.aliyun.com/ubuntu trusty/main amd64 lib32tinfo-dev amd64 5.9+20140118-1ubuntu1 [69.1 kB]
    读取: 12 http://mirrors.aliyun.com/ubuntu trusty/main amd64 lib32ncurses5-dev amd64 5.9+20140118-1ubuntu1 [117 kB]
    已下载 1,104 kB,耗时 1秒 (1,960 kB/s)    
    (正在读取数据库 ... 系统当前共安装有 195281 个文件和目录。)
    正在卸载 deepin.com.qq.im:i386 (8.9.19983deepin23) ...
    正在卸载 deepin.com.wechat:i386 (2.6.2.31deepin0) ...
    正在卸载 deepin-wine32-preloader:i386 (2.18-14~rc1) ...
    正在卸载 deepin-wine (2.18-14~rc1) ...
    正在卸载 deepin-wine32:i386 (2.18-14~rc1) ...
    正在卸载 deepin-libwine:i386 (2.18-14~rc1) ...
    正在卸载 libncurses5-dev:i386 (6.1+20180210-4) ...
    正在卸载 libncurses5:i386 (6.1+20180210-4) ...
    dpkg: 警告: 即将把 ncurses-base 从 6.1+20180210-4 降级到 5.9+20140118-1ubuntu1
    (正在读取数据库 ... 系统当前共安装有 193492 个文件和目录。)
    正准备解包 .../ncurses-base_5.9+20140118-1ubuntu1_all.deb  ...
    正在将 ncurses-base (5.9+20140118-1ubuntu1) 解包到 (6.1+20180210-4) 上 ...
    正在设置 ncurses-base (5.9+20140118-1ubuntu1) ...
    dpkg: 警告: 即将把 libreadline6:amd64 从 6.3-9 降级到 6.3-4ubuntu2
    (正在读取数据库 ... 系统当前共安装有 193488 个文件和目录。)
    正准备解包 .../libreadline6_6.3-4ubuntu2_amd64.deb  ...
    正在将 libreadline6:amd64 (6.3-4ubuntu2) 解包到 (6.3-9) 上 ...
    dpkg: 警告: 即将把 libtinfo5:amd64 从 6.1+20180210-4 降级到 5.9+20140118-1ubuntu1
    正准备解包 .../libtinfo5_5.9+20140118-1ubuntu1_amd64.deb  ...
    正在反配置 libtinfo5:i386 (6.1+20180210-4) ...
    正在将 libtinfo5:amd64 (5.9+20140118-1ubuntu1) 解包到 (6.1+20180210-4) 上 ...
    dpkg: 警告: 即将把 libtinfo5:i386 从 6.1+20180210-4 降级到 5.9+20140118-1ubuntu1
    正准备解包 .../libtinfo5_5.9+20140118-1ubuntu1_i386.deb  ...
    正在将 libtinfo5:i386 (5.9+20140118-1ubuntu1) 解包到 (6.1+20180210-4) 上 ...
    正在设置 libtinfo5:amd64 (5.9+20140118-1ubuntu1) ...
    正在设置 libtinfo5:i386 (5.9+20140118-1ubuntu1) ...
    正在选中未选择的软件包 libncurses5:amd64。
    (正在读取数据库 ... 系统当前共安装有 193487 个文件和目录。)
    正准备解包 .../libncurses5_5.9+20140118-1ubuntu1_amd64.deb  ...
    正在解包 libncurses5:amd64 (5.9+20140118-1ubuntu1) ...
    (正在读取数据库 ... 系统当前共安装有 193495 个文件和目录。)
    正在卸载 libncurses-dev:i386 (6.1+20180210-4) ...
    dpkg: libncurses-dev:amd64:有依赖问题,但是如您所愿,将继续卸载:
     libncurses5-dev:amd64 依赖于 libncurses-dev (= 6.1+20180210-4).
    
    正在卸载 libncurses-dev:amd64 (6.1+20180210-4) ...
    dpkg: 警告: 即将把 libncurses5-dev:amd64 从 6.1+20180210-4 降级到 5.9+20140118-1ubuntu1
    (正在读取数据库 ... 系统当前共安装有 193369 个文件和目录。)
    正准备解包 .../libncurses5-dev_5.9+20140118-1ubuntu1_amd64.deb  ...
    正在将 libncurses5-dev:amd64 (5.9+20140118-1ubuntu1) 解包到 (6.1+20180210-4) 上 ...
    正在选中未选择的软件包 libtinfo-dev:amd64。
    正准备解包 .../libtinfo-dev_5.9+20140118-1ubuntu1_amd64.deb  ...
    正在解包 libtinfo-dev:amd64 (5.9+20140118-1ubuntu1) ...
    dpkg: 警告: 即将把 ncurses-bin 从 6.1+20180210-4 降级到 5.9+20140118-1ubuntu1
    正准备解包 .../ncurses-bin_5.9+20140118-1ubuntu1_amd64.deb  ...
    正在将 ncurses-bin (5.9+20140118-1ubuntu1) 解包到 (6.1+20180210-4) 上 ...
    正在设置 ncurses-bin (5.9+20140118-1ubuntu1) ...
    (正在读取数据库 ... 系统当前共安装有 193416 个文件和目录。)
    正在卸载 libncursesw6:i386 (6.1+20180210-4) ...
    dpkg: 警告: 即将把 lib32ncurses5 从 6.0+20170715-2 降级到 5.9+20140118-1ubuntu1
    (正在读取数据库 ... 系统当前共安装有 193409 个文件和目录。)
    正准备解包 .../lib32ncurses5_5.9+20140118-1ubuntu1_amd64.deb  ...
    正在将 lib32ncurses5 (5.9+20140118-1ubuntu1) 解包到 (6.0+20170715-2) 上 ...
    dpkg: 警告: 即将把 lib32tinfo5 从 6.0+20170715-2 降级到 5.9+20140118-1ubuntu1
    正准备解包 .../lib32tinfo5_5.9+20140118-1ubuntu1_amd64.deb  ...
    正在将 lib32tinfo5 (5.9+20140118-1ubuntu1) 解包到 (6.0+20170715-2) 上 ...
    正在选中未选择的软件包 lib32tinfo-dev。
    正准备解包 .../lib32tinfo-dev_5.9+20140118-1ubuntu1_amd64.deb  ...
    正在解包 lib32tinfo-dev (5.9+20140118-1ubuntu1) ...
    正在选中未选择的软件包 lib32ncurses5-dev。
    正准备解包 .../lib32ncurses5-dev_5.9+20140118-1ubuntu1_amd64.deb  ...
    正在解包 lib32ncurses5-dev (5.9+20140118-1ubuntu1) ...
    正在设置 libncurses5:amd64 (5.9+20140118-1ubuntu1) ...
    正在处理用于 lastore-daemon (0.9.66.3-1) 的触发器 ...
    正在处理用于 mime-support (3.60) 的触发器 ...
    正在处理用于 desktop-file-utils (0.23-3) 的触发器 ...
    正在设置 libtinfo-dev:amd64 (5.9+20140118-1ubuntu1) ...
    正在设置 lib32tinfo5 (5.9+20140118-1ubuntu1) ...
    正在设置 lib32ncurses5 (5.9+20140118-1ubuntu1) ...
    正在设置 libncurses5-dev:amd64 (5.9+20140118-1ubuntu1) ...
    正在处理用于 bamfdaemon (0.5.3-2+b1) 的触发器 ...
    Rebuilding /usr/share/applications/bamf-2.index...
    正在处理用于 libc-bin (2.27-3) 的触发器 ...
    正在处理用于 man-db (2.8.3-2) 的触发器 ...
    正在设置 lib32tinfo-dev (5.9+20140118-1ubuntu1) ...
    正在处理用于 hicolor-icon-theme (0.17-2) 的触发器 ...
    正在设置 libreadline6:amd64 (6.3-4ubuntu2) ...
    正在设置 lib32ncurses5-dev (5.9+20140118-1ubuntu1) ...
                                     
    当前状态:76946 (-9) new。
    
    

    2.同步源码参考
    https://mirrors.tuna.tsinghua.edu.cn/help/lineageOS/
    https://wiki.lineageos.org/devices/dumpling/build

    repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/lineageOS/LineageOS/android.git -b lineage-15.1
    repo sync -c -f -j8 --force-sync --no-clone-bundle
    

    清华镜像站这里做了限制当遇到failed请用-j1进行同步

    repo sync -c -f -j1 --force-sync --no-clone-bundle
    

    源码同步完毕

    source build/envsetup.sh
    breakfast dumpling
    

    其他问题继续更新中…

    错误1 高版本编译器问题

    FAILED: /home/wenxiangli/android/los15/out/target/product/enchilada/obj/STATIC_LIBRARIES/libedify_intermediates/lexer.cpp 
    /bin/bash -c "prebuilts/misc/linux-x86/flex/flex-2.5.39 -o/home/wenxiangli/android/los15/out/target/product/enchilada/obj/STATIC_LIBRARIES/libedify_intermediates/lexer.cpp bootable/recovery/edify/lexer.ll"
    flex-2.5.39: loadlocale.c:130:_nl_intern_locale_data: ?? 'cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' ???
    Aborted
    ninja: build stopped: subcommand failed.
    16:25:42 ninja failed with: exit status 1
    
     export LC_ALL=C
     source build/envsetup.sh
     make -j32
    

    错误2 这个跟问题一其实一样

    prebuilts/clang/host/linux-x86/clang-3289846/bin/clang.real: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
    [  0% 2/107167] bc: libclcore.bc <= frameworks/rs/driver/runtime/rs_element.c
    FAILED: /home/wenxiangli/android/los16/out/target/product/enchilada/obj/RENDERSCRIPT_BITCODE/libclcore.bc_intermediates/rs_element.bc 
    
    

    解决办法

    1、确定有一个64位架构的内核
    $ dpkg --print-architecture  
    amd64
     
    2、确认打开多架构支持功能
    $ dpkg --print-foreign-architectures  
    i386
    
    
    如果不是i386的话,那么请打开多架构支持
    
    步骤:
    2.1)、$ sudo dpkg --add-architecture i386   
    2.2)、$ sudo apt -get update  
     
    3、检查拥有的库文件是否需要更新版本
    $ sudo apt-get dist-upgrade  
     
    4、执行下面语句安装:
    
    $ sudo apt install lib32ncursesw5 lib32ncursesw5-dev  
    sudo apt-get install lib32ncurses5
    
    展开全文
  • deepin15.11编译安卓6.0

    2020-02-29 15:20:49
    第一步:下载以及安装jdk 1.8.x 由于之前就已经下载好了java-7-openjdk-amd64.tar,因此在这里只需要复制到/opt/jdk目录下,一般来说jdk目录是自己创建的。 mkdir jdk 解压java-7-openjdk-amd64.tar ...

    第一步:下载以及安装jdk 1.7.x
    由于之前就已经下载好了java-7-openjdk-amd64.tar,因此在这里只需要复制到/opt/jdk目录下,一般来说jdk目录是自己创建的。

    mkdir jdk
    

    解压java-7-openjdk-amd64.tar

    sudo tar -vxf  java-7-openjdk-amd64.tar
    

    打开~/.bashrc ,配置jdk环境,添加如下

    export JAVA_HOME = /opt/jdk/java-7-openjdk-amd64
    export ANDROID_JAVA_HOME=$JAVA_HOME
    PATH=$JAVA_HOME/bin:$PATH
    

    第二步:安装编译依赖库

    apt-get install -y git gnupg flex bison gperf build-essential \ 
    zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \ 
    libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \ 
    g++-multilib mingw32 tofrodos libgl1-mesa-dev \ 
    python-markdown libxml2-utils xsltproc zlib1g-dev:i386 
    

    安装过程中出现错误:E.无法定位安装包mingw32
    解决方法:
    打开下载源文件sources.list

    sudo vim /etc/apt/sources.list
    

    在sources.list末尾添加语句并保存退出

    deb http://us.archive.ubuntu.com/ubuntu trusty main universe
    

    再次更新安装便可

       sudo apt-get update
        sudo apt-get install mingw32
    

    第三步:查看一些编译版本是否满足
    Perl >=5.18.4
    Python >=2.7.6
    GNU make >=3.18
    GNU gcc >=4.8.4

    (1)查看Perl版本

    linux@linux-PC:/opt$ perl -version
    This is perl 5, version 24, subversion 1 (v5.24.1) built for x86_64-linux-gnu-thread-multi
    (with 85 registered patches, see perl -V for more detail)
    

    (2)查看python版本

    linux@linux-PC:/opt$ python -V
    Python 2.7.13
    

    (3)查看gnu make版本

    linux@linux-PC:/opt$ make -v
    GNU Make 4.1 
    Built for x86_64-pc-linux-gnu
    Copyright (C) 1988-2014 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.
    

    (4)查看gcc版本

    linux@linux-PC:/media/gentle/_dde_data/codes/ac8257$ gcc -v
    Using built-in specs.
    COLLECT_GCC=gcc
    COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/6/lto-wrapper
    Target: x86_64-linux-gnu
    Configured with: ../src/configure -v --with-pkgversion='Debian 6.3.0-18+deb9u1' --with-bugurl=file:///usr/share/doc/gcc-6/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-6 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-6-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-6-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-6-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
    Thread model: posi
    gcc version 6.3.0 20170516 (Debian 6.3.0-18+deb9u1) 
    

    第四步,执行编译

    source ./build/envsetup.sh 
    lunch xxx_platform
    ./allmake.sh
    

    如果出现如下错误

     ./allmake.sh: 26: ./allmake.sh: Syntax error: "(" unexpected
    

    执行命令

    sudo dpkg-reconfigure dash
    

    弹出界面,选择否便可,这是因为debian为了加快执行速度,把bash改为dash,我们通过命令恢复为bash
    在这里插入图片描述

    第一种错误:

    error:flex-2.5.39: loadlocale.c:130: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' failed. Aborted (core dumped)
    或者FAILED: out/host/linux-x86/obj/EXECUTABLES/checkpolicy_intermediates/policy_scan.c
    /bin/bash -c "prebuilts/misc/linux-x86/flex/flex-2.5.39 -oout/host/linux-x86/obj/EXECUTABLES/checkpolicy_intermediates/policy_scan.c external/selinux/checkpolicy/policy_scan.l"
    flex-2.5.39: loadlocale.c:130: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' failed.
    Aborted (core dumped)
    

    解决方法: 使用命令:(相关解说https://blog.csdn.net/weixin_33941350/article/details/93094299)

    export LC_ALL=C
    

    第二种错误:

    **make: *** No rule to make target 'out/target/product/evb3561sv_w_no2/obj_arm/STATIC_LIBRARIES/libcam.halmemory_intermediates/export_includes', needed by 'out/target/product/evb3561sv_w_no2/obj_arm/SHARED_LIBRARIES/libcam_platform_intermediates/import_includes'.  Stop.
    make: *** Waiting for unfinished jobs....**
    

    解决方法: 网上查看是说cmake太高了,因此降级为3.81尝试一下.最终不报这种错误了。
    https://www.jianshu.com/p/1d3321ad36a2(中间遇到的问题,就是make出错解决方法

    wget http://ftp.gnu.org/gnu/make/make-3.81.tar.gz
    tar xf make-3.81.tar.gz
    cd make-3.81
    ./configure --prefix=/usr/local/make-3.81
    sh build.sh 
    sudo cp make /usr/bin/make
    

    第三种错误:error: unsupported reloc 42
    解决方法:
    这种错误几乎都是修改源码的一些方法,但是按照仅仅的编译来说,应该尽量不要修改源码,因此我写了一个脚本,每次编译前把ld链接到本地,编译完后再用git checkout复原。脚本内容如下:
    #备份以及全局链接函数

    function change_ld_glod
    {
        echo "ROOT_PATH=$ROOT_PATH"
        mv $ROOT_PATH/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.15-4.8/x86_64-linux/bin/ld $ROOT_PATH/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.15-4.8/x86_64-linux/bin/ld.bak
        ln -s /usr/bin/ld.gold $ROOT_PATH/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.15-4.8/x86_64-linux/bin/ld
    }
    
    #恢复函数
    function recovery_ld_glod
    {
        echo "recovery /usr/bin/ld.gold"
        mv $ROOT_PATH/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.15-4.8/x86_64-linux/bin/ld.bak $ROOT_PATH/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.15-4.8/x86_64-linux/bin/ld
    
    }
    
    #编译之前全局链接
    change_ld_glod
    source ./build/envsetup.sh 
    lunch xxx_platform
    ./allmake.sh
    #编译完成后恢复
    recovery_ld_glod
    
    展开全文
  • 第一步下载以及安装jdk 1.8.x 由于之前就已经下载好了java-8-openjdk-amd64.tar,因此在这里只需要复制到/opt/jdk目录下,一般来说jdk目录是自己创建的。 mkdir jdk 解压java-8-openjdk-amd64.tar ...
  • 一、前言 本文不涉及源码下载过程,主要记录自己的编译源码过程及其中遇到的问题,并最终运行在真机上。 二、预置环境 ...3、编译源码版本为android-7.1.2_r18和android-4.4_r1两个 版本选择参考链...
  • deepin 编译ffmpeg3.1.3

    2020-07-25 13:55:47
    deepin 编译ffmpeg 下载ffmpeg http://ffmpeg.org/ 下载ndk android-ndk-r10d-linux-x86_64.bin ./android-ndk-r10d-linux-x86_64.bin 安装解压 解压 ffmpeg tar -xvf ffmpeg-3.1.3.tar.gz 修改configure ...
  • 前言:最近项目完成得差不多了,有些空闲于是装了基于ubuntu的Deepin玩玩,感觉挺好的,于是尝试用它来作为开发的系统,接下来就是要搭建android的开发环境,但是看了好多都是很老的,IDE是eclipse的开发环境,对于...
  • Deepin配置android应用开发环境
  • 一年前在ubuntu 14.04上编译成功了jdk1.8,前不久换了deepin 15来用(可以用windows下面的几个常用软件和下载工具+Android源代码编译+商店配置好各种开箱即用的开发工具,没理由回ubuntu了),jdk源代码运行环境都...
  • 根据官方及网络上的教程,成功搭建了Android 5.1源码的编译环境并成功编译。过程如下: 一: 使用虚拟机,安装ubuntu。 ubuntu-14.04.5-desktop-amd64.iso(官方推荐) 硬盘空间:200G 内存:4G以上 CPU:1个...
  • 虽然Google一直提倡用Ubuntu和Mac系列来研发Android系统,但上周末我无聊安装了一个Fedora27,于是想这个系统是不是也能进行Android 6.0的编译工作呢?找了网上所有的资料,只有Fedora 1X系列有人试过,Android 5.0...
  • 一 前言 学习一门技术最好的方式莫过于阅读它的源代码,正如Linux鼻祖的经典名言:read the fucking source code ..... 今天这篇文章的话,就是讨论怎么在windows环境下,下载,编译android源代码。。。
  • 1. 错误日志: flex-2.5.39: loadlocale.c:130:_nl_intern_locale_data: ?? 'cnt &lt; (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' ??? Aborted (core dumped) ...
  • deepin社区论坛中被告诉是deepin15.7中这个方法不管用了。  卡了很久了,不知道怎么解决。希望看到的大佬如果知道解决方法,烦请告知,感激!   另外如果碰到了这个问题的,非deepin15.7版本的可以参考【Java...
  • 目录 一、背景 二、准备工作 2.1 环境准备 2.2 下载项目 2.3 修改C++文件函数方法名 ...要开发一款在Android平台下的人脸识别软件,需要用到Android Caffe框架跑模型,需要生成不同平台(arm...
  • deepin中第一次编译Android项目时出现: javax.net.ssl.SSLException:Received close_notify during handshake 看得出是SSL连接问题。 解决办法 查阅资料大致有几种解决办法: 关闭防火墙。但是deepin默认是没有...
  • android uvccamera 编译

    2020-04-22 17:09:41
    1、NDK报错:Process 'command 'D:\SDK\ndk-bundle/ndk-build.cmd'' finished with non-zero exit value 2 解决方法:ndk版本过高,需要下载16.1.4479499版本的ndk,并在local.properties里写入以下三个路径,根据...
  • 安卓内核编译流程

    2015-04-07 13:10:22
    配置 操作系统:ubuntu10.04 64位;安卓手机:Nexus5;手机Android版本:4.4.4 注意:笔者在完成以下操作时在root权限下进行,...Android源码\内核下载及编译 1、 建立编译环境 a) 安装JDK 1.6版本  i. 下载jdk-6u2
  • 现在开始研究安卓framework层 以及了解整个Android的系统架构 ; 那首先第一步就是去下载安卓源代码了,具体可以参考谷歌官方文档下载源代码:http://source.android.com/source/downloading.htm 如果省时间可以直接...
1 2 3 4 5 ... 20
收藏数 465
精华内容 186
关键字:

deepin编译android