1. 程式人生 > >Deepin15.7 Android8.1 編譯 以及問題解決

Deepin15.7 Android8.1 編譯 以及問題解決

前幾天裝了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 <
[email protected]
>”已匯入 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。

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

其他問題繼續更新中…