日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Sailfish OS构建(1)

發布時間:2023/12/10 编程问答 65 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Sailfish OS构建(1) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第一章 概述

1.1目標

依據本指南,您可以在一個安卓設備上部署一個運行于已有的安卓固件和內核之上sailfishos(或基于sailfishos core)linux操作系統。

內容包括:

Sailfish Core: GNU/Linux userspace core

Android Hardware Adaptation (HA/HAL), 包括:

指定設備的 Android Kernel

Android base :

LineageOS - https://wiki.lineageos.org

AOSP - Android Open Source Project - https://source.android.com

CAF - Code Aurora Forum - https://www.codeaurora.org

Sony Open Devices program - Open Devices - Open Devices - Sony Developer World

Vendor-specific Android base

從 Android base 獲取的二進制驅動

針對 Android base 的hybris補丁

針對二進制驅動程序構建的 libhybris 接口

基于特定硬件插件的中間件包

使用 Android hwcomposer 的 Qt/Wayland QPA 插件

Sailfish OS 組件

1.2 開發

1.2.1 需求

使用platform SDK作為開發環境,具備以下功能:

一個或多個特定于設備的目標(具有特定于設備的頭文件和庫的 rootfs)

HA 構建 SDK(構建 Android 源代碼所需的最小 Ubuntu chroot)??在 HA 開發期間,您通常會有一個使用 HA 構建 SDK 的窗口/終端,您可以在其中構建和處理 Android 代碼。以及另一個使用 Platform SDK 構建 RPM 以進行硬件適配的會話。

配置 platform SDK,以及特定設備的target和用于HA構建的chroot在配置SDK中介紹。

平臺 SDK 會話的命令和輸出通過在代碼塊頂部使用 PLATFORM_SDK $ 指示,如下所示:

PLATFORM_SDK $

echo "此命令應該在 Platform SDK 執行"

如何進入platform SDK 在配置SDK中介紹。

在代碼塊頂部使用HABUILD_SDK $指示來自與HA構建會話的命令和輸出,類似這樣

HABUILD_SDK $

echo "此命令應該在 Ubuntu HA build SDK 執行"

如何進入 HABUILD_SDK $ 在進入Ubuntu Chroot中介紹.

1.2.2 構建位置的根目錄

在本指南中,我們使用環境變量 $PLATFORM_SDK_ROOT 代表托管 Platform SDK、Targets 和 Ubuntu chroot 的 SDK 目錄。 對于一個在 0.5-1GB 的 SDK Targets,您總共需要大約 3GB 的空間。

1.2.3 構建組件

有許多組件需要構建; 在HA build SDK中構建底層和Android相關的組件; 其余的都是在 Platform SDK 中構建的。

在 HA 構建 SDK 中:

一個內核

一個支持各種啟動選項的hack友好的 initrd

hybris-boot.img 和 hybris-recovery.img(用于啟動和調試)

最小的 Android /system/ 樹

為與 libhybris 和 Sailfish OS(例如 Bionic libc、logcat、init、...)兼容而修改的 Android 組件

在platform SDK中:

包含所有構建的二進制文件和提取的配置的 RPM 包

特定于硬件的中間件和插件(例如 Qt QPA 插件、PulseAudio)

RPM 包被上傳到一個特定于 HA 的存儲庫進行分發,通過這個存儲庫,使用 mic 實用程序的完整系統映像。 mic 實用程序通常也在 Platform SDK 中運行。

1.3 部署

hybris-boot.img(包含內核和我們自定義的 initrd)被刷寫到設備上,而 Sailfish OS rootfs 被放置在 /data/ 分區的子目錄中,與一個現有的、未修改的 Android 系統一起。Sailfish OS rootfs 然后用作 switchroot 目標,其中 /data 綁定安裝在其中以共享訪問任何用戶數據。

第二章 先決條件

2.1 移動設備

在撰寫本文時(2021-02-12 ),LineageOS 15.1 (Android 8)、16.0 (Android 9) 和 17.1 (Android 10) 正式支持 Android 設備。 CyanogenMod 版本(與 Sailfish 操作系統兼容)10.1.x、11.0、12.1、13.0、14.1 將需要額外的努力,因為 CM 已經過時。 有關更多受支持的 Android 版本,請查看此鏈接

在本指南中,我們將使用術語 Android 基礎,它指的是您正在移植的適當基礎:LineageOS、AOSP、CAF 等

我們同樣支持Sony Open Device項目,并且為此發布了如何重構可刷機鏡像的教程:

Xperia X (Sony AOSP 6)

Xperia XA2 (Sony AOSP 8)

Xperia 10 (Sony AOSP 9)

Xperia 10 II (Sony AOSP 10)

自 sailfishos 3.4.0,添加了對 ARM 64bit 的 sailfishos userspace 支持。

從 CM 13.0 (Android 6) 開始的 Sailfish OS 適配是通過混合運行 64 位 Linux 內核和 Android HAL 構建的,而 Sailfish OS 用戶空間在 32 位模式下運行。 這種混合模式仍然受支持,但我們鼓勵移植者切換到完整的 64 位移植(以 Xperia 10 II 為參考)

兼容設備的列表,請參閱 Redirecting…

有關已使用 HADK 移植的設備的狀態列表,請參閱 Adaptations/libhybris - Mer Wiki

請參閱 Adaptations/libhybris/porters - Mer Wiki 以獲取早期階段的移植人員列表,以在 IRC 上聯系作者

AOSP 或 CAF Android 基礎支持也是可能的,但我們為更廣泛的設備選擇 LineageOS。 由移植者用 hybris 補丁修補 AOSP/CAF base。使用它的剩余差異很小(例如,使用lunch命令替代breakfast)

用于備份和恢復設備內容(例如 SD 卡或 USB 電纜到主機),以及閃存恢復圖像到設

2.2 構建設備

使用64bit 內核的 X86-64機器

sailfishos platform SDK (稍后介紹安裝方法)

sailfishos platform SDK target (稍后介紹)

至少 30 GiB 的可用磁盤空間(20 GiB 源下載 + 更多用于構建)用于完整的 Android 6 構建; 最少的下載和 HADK 構建(僅與硬件適配相關的組件)需要空間略小。 較新的 Android 基礎版本會產生越來越大的尺寸要求。

最少4GB RAM(越大越好)

第三章 準備您的設備

確認您可以備份和恢復您的設備,并且您了解設備恢復選項。 這不僅在刷寫您使用本指南構建的映像時很有用,而且在您想使用庫存 Android 將設備重置為出廠狀態時也很有用(請注意,并非所有 Android 供應商都提供可供下載的出廠映像,因此您可能需要創建 正在運行的 Android 系統的完整備份并將其存儲在安全的地方,然后再開始使用您的自定義版本擦除和重新刷新設備)。

3.1 備份和檢查您的設備

如上所述,在首次刷入 Android 基礎版本之前備份現有的 Android 原始鏡像可能會有所幫助,因為對于某些供應商而言,獲取原始鏡像可能很困難(例如,某些原始圖像只能作為適用于 Windows 的自解壓 . exe 包)或不可能(某些供應商不提供供下載的庫存鏡像)。

使用 Android Recovery(例如 TWRP 或??ClockworkMod)用于:

備份到 SD 卡:系統、數據、啟動和恢復分區

測試恢復備份(重要)

警告:雖然某些設備可以備份到內部設備存儲,但如果在移植期間您最終覆蓋了該分區,您的備份將消失。 在這種情況下(對于沒有 SD 卡插槽的設備),最好也將備份數據復制到您的開發機器(例如通過 adb pull in recovery)。

最新版本的 adb 支持使用 adb 備份功能將完整設備備份到主機。

參考ClockworkMod介紹獲取更多幫助信息

3.2 刷入和測試您的Android base 鏡像

刷入您為 Android base 構建或獲取的映像,無論是 LineageOS、CAF、AOSP 還是其他。

官方 LineageOS 刷機說明可在此 LineageOS wiki 頁面上找到。

您可能還想驗證您設備的 Android 基礎版本是否功能齊全,以避免浪費時間進行已知問題的硬件適配。 此外,您的設備可能存在一些硬件缺陷——在 Android 中進行測試會驗證所有組件是否正常工作,因此您有一個功能基線來比較您的 Sailfish OS 構建結果。

您應該最少檢查下下列特性:

OpenGL ES 2.0:使用例如 用于 Android 測試的 Gears(您將獲得將是最大刷新率的赫茲數)。

WLAN 連接:連接到 AP、ad-hoc 或使用您的設備設置移動接入點。

音頻:耳機檢測、聽筒揚聲器、揚聲器等。

藍牙:連接藍牙耳機、驗證可發現性、發送文件。

NFC:檢查設備是否可以檢測、讀取和/或寫入 NFC 標簽。

SD/MicroSD:使用文件管理器應用程序查看是否可以檢測到插入的 SD 卡。

USB:MTP、大容量存儲(如果可用)和 adb 訪問。

電話:2G/3G/LTE 通話 + 數據連接。

GPS:使用 GPS 測試,也檢查 GLONASS;典型的修復時間;全球定位系統。

傳感器:使用 AndroSensor:加速度計、接近傳感器、環境光傳感器、陀螺儀、磁力計(羅盤)、霍爾(翻蓋)、。 . .

LED:如果您的設備有通知 LED 或鍵盤背光。

相機(前后):還測試變焦、閃光燈等功能。

按鈕:增大音量、減小音量、電源、相機快門等。

視頻輸出:HDMI / MHL 連接(如果您有必要的適配器),TV輸出。

屏幕背光:暫停和背光控制,最小和最大亮度。

電池表:充電水平、電池健康、通過 USB 充電(壁式充電器和主機 PC)。

振動馬達:強度、模式。

硬件作曲家版本:通過 ADB 檢查 dumpsys SurfaceFlinger(請參閱 SF 層調試)。

指紋傳感器

調頻收音機

我們建議您寫下這些測試的結果,以便您永遠記住它們。

第四章 配置SDK

4.1 配置需要的環境變量

在本指南中,我們將引用您的 SDK、目標和源代碼的位置。 與 Android 硬件適配一樣,設備供應商 (數學公式: $ VENDOR) 和設備代號 ( $DEVICE) 也在腳本和配置文件中使用。 在本指南中,我們將使用 Nexus 5(lge/hammerhead 為其供應商/設備對),并使用 CyanogenMod 11.0 版本作為“An droid base”移植它。 因此,請確保您仔細閱讀代碼片段,并在適合您移植的設備/供應商/基礎的地方重命名。

現在在適合您的設備和設置的主機操作系統上運行以下命令:

HOST $

cat <<'EOF' > $HOME/.hadk.env

export ANDROID_ROOT="$HOME/hadk"

export VENDOR="lge"

export DEVICE="hammerhead"

# "armv7hl" is still supported, but we encourage to have full 64bit ports

export PORT_ARCH="aarch64"

EOF

cat <<'EOF' >> $HOME/.mersdkubu.profile

function hadk() { source $HOME/.hadk.env; echo "Env setup for $DEVICE"; }

export PS1="HABUILD_SDK [\\${DEVICE}] $PS1"

hadk

EOF

這樣可以確保在您使用 ubu-chroot 命令進入 Android SDK 時正確設置環境。

它還創建了一個函數 hadk,您可以使用它來設置或重置環境變量。

4.2 配置platform SDK

可以在 Sailfish OS wiki 上找到說明(“快速入門”部分就足夠了,暫時不要安裝 SDK Targets):Installation | Sailfish OS Documentation。

之后,暫時離開 PLATFORM_SDK 以使用必要的命令更新創建最新的 ~/.mersdk.profile:

PLATFORM_SDK $

exit

HOST $

cat <<'EOF' >> $HOME/.mersdk.profile

function hadk() { source $HOME/.hadk.env; echo "Env setup for $DEVICE"; }

hadk

EOF

sfossdk

筆記:

~/.mersdk.profile 為platform SDK環境初始化腳本,在該腳本中可以預置一些默認操作

例如:

修復platform SDK環境不自動掛載附屬硬盤的問題:

只需在該腳本內添加相應的掛載命令:

sudo mount /dev/sda1 ~/lib1

sudo mount /dev/sda2 ~/lib2

拉取tools:

sdk-assistant create SailfishOS-${RELEASE} https://releases.sailfishos.org/sdk/targets/Sailfish_OS-${RELEASE}-Sailfish_SDK_Tooling-i486.tar.7z

環境配置可參考:

https://github.com/CancroSailors/sailfish-build-environment

https://gitlabsh.uniontech.com/sbp/obs/obs_setup/-/blob/master/document/script/vince_set_HADK.sh

https://gitlabsh.uniontech.com/sbp/obs/obs_setup/-/blob/master/document/script/vince_init_sdk_dotfile.sh

您將需要一些默認情況下未安裝到 Platform SDK 中的工具:

android-tools-hadk 包含使用 Android SDK 所需的工具和實用程序

kmod 用于MIC的 QEMU 構建鏡像

PLATFORM_SDK $

sudo zypper ref

sudo zypper in android-tools-hadk kmod

我們強烈建議所有的移植至少使用 3.0.0.8 Platform SDK。 使用 sdk-manage 命令升級您的tool和target,或從新版本中創建(尤其是從 2.x 更新到 3.x 時)。 檢查您使用的是哪個版本:

PLATFORM_SDK $

# if no such file, you're on an old SDK version

cat /etc/os-release

有關使您的 SDK 保持最新狀態的更多信息:Welcome | Sailfish OS Documentation

筆記:

無法正常進入PLATFORM_SDK環境

su: failed to execute /bin/bash: Resource temporarily unavailable

解決辦法:

sudo sed -ri 's/4096/65535/' "$PLATFORM_SDK_ROOT"/sdks/sfossdk/etc/security/limits.d/95-nproc-sdk.conf

升級SDK

PLATFORM_SDK $

ssu re 4.2.0.21

sudo zypper ref -f

sudo zypper dup -y

sudo zypper --non-interactive in bc pigz atruncate android-tools-hadk kmod zip

4.3 配置一個安卓編譯環境

4.3.1 下載和解壓Ubuntu Chroot

為了保持構建穩定性,我們使用 Platform SDK 中的 Ubuntu GNU/Linux chroot 環境來構建我們的 Android 源代碼樹。 對于需要 OpenJDK 1.8 或更高版本的 Android 設備移植,使用以下命令下載 rootfs 并將其解壓縮到適當的位置:

PLATFORM_SDK $

TARBALL=ubuntu-focal-20210531-android-rootfs.tar.bz2

curl -O https://releases.sailfishos.org/ubu/$TARBALL

UBUNTU_CHROOT=$PLATFORM_SDK_ROOT/sdks/ubuntu

sudo mkdir -p $UBUNTU_CHROOT

sudo tar --numeric-owner -xjf $TARBALL -C $UBUNTU_CHROOT

# FIXME: to be removed when Sailfish OS 4.2.0 is out:

sudo sed -i 's/jessie/bullseye/g' /usr/bin/ubu-chroot

4.3.2 進入 Ubuntu chroot

PLATFORM_SDK $

ubu-chroot -r $PLATFORM_SDK_ROOT/sdks/ubuntu

# FIXME: Hostname resolution might fail. This error can be ignored.

# Can be fixed manually by adding the hostname to /etc/hosts

HABUILD_SDK $

# Now you are in the HABUILD_SDK environment

# To leave, just type 'exit' or Ctrl+D, and you'll be back to the PLATFORM_SDK

筆記:

ubuntu chroot環境賬號過期

[HABUILD]

sudo apt update

#執行sudo su 會提示:sudo: account validation failure, is your account locked?

#賬號過期,需要修正一下

退出chroot環境:

exit

sudo chroot $PLATFORM_SDK_ROOT/sdks/ubuntu

[Chroot]

chage -M 999999 $username

exit

4.3.3 如果您的移植工作要求openjdk 1.7或更老的版本

我們的 ubu-chroot 環境基于 20.04 LTS,它提供 OpenJDK 1.8 或更新版本。

如果您的 Android 基礎構建需要較舊的 Java 開發工具包,請改為安裝舊版 ubu-chroot:

PLATFORM_SDK $

TARBALL=ubuntu-trusty-20180613-android-rootfs.tar.bz2

curl -O https://releases.sailfishos.org/ubu/$TARBALL

UBUNTU_CHROOT=$PLATFORM_SDK_ROOT/sdks/ubuntu

sudo mkdir -p $UBUNTU_CHROOT

sudo tar --numeric-owner -xjf $TARBALL -C $UBUNTU_CHROOT

第五章 編譯安卓HAL

5.1 檢出安卓base源碼

????我們的構建流程是基于安卓源碼樹的,但是我們需要在其中編輯一些項目,打上一些讓libhybris需要的補丁以確保功能正確,并且讓內建操作和在init.*.rc文件中的服務最小化。

確保您已經在你的git設置中設置好你的姓名和郵箱地址:

HABUILD_SDK $

git config --global user.name "Your Name"

git config --global user.email "you@example.com"

您同時需要安裝從ASOP源碼倉庫中安裝repo,參考Installing repo.

提示:如果您的移植依賴openJDK1.7或更早的版本,使用舊版基于Python2的repo工具。

在您安裝完repo命令后,下列命令將下載為了構建Android base 應用于sailfishos 固件移植的修改部分所依賴的項目。

您能移植的所有可用的Android base 變體和版本可以從這里瀏覽。

選擇一個對您的設備固件支持最好的版本。

當然,您也可以為您選擇的Android base打補丁(例如:CAF、AOSP、及其他)

您最終的sailfishos移植成果將是一個可以安裝的ZIP文件。在向您的設備部署這個zip文件之前,您將必須先燒寫相應版本的Android base,以使sailfishos可以復用Android HAL的共享組件。

如果您的主ROM與您的Android base或版本不匹配,并且您想要在您的設備上保留該ROM,然后為其尋求MultiROM支持。從它的版本V28開始,它支持啟動sailfishos。

本移植指南使用Nexus 5和CyanogenMod 11.0版本作為例子:

HABUILD_SDK $

sudo mkdir -p $ANDROID_ROOT

sudo chown -R $USER $ANDROID_ROOT

cd $ANDROID_ROOT

repo init -u git://github.com/mer-hybris/android.git -b hybris-11.0

筆記:

repo install

mkdir -p ~/bin

echo Installing repo

if ! curl https://storage.googleapis.com/git-repo-downloads/repo >~/bin/repo; then

????curl -sSL 'https://gerrit-googlesource.proxy.ustclug.org/git-repo/+/master/repo?format=TEXT' | base64 -d >~/bin/repo

fi

sed -ri 's:#!/usr/bin/env python$:#!/usr/bin/env python3:' ~/bin/repo

chmod +x ~/bin/repo

分流代理: https://gitlabsh.uniontech.com/sbp/obs/obs_setup/-/blob/master/document/script/proxy_gfwlist.sh

使用內網AOSP內網鏡像:

sed -ri "s;[ ]+REPO_URL =.*$;\ \ REPO_URL = \'git://10.20.15.143/tools/repo.git\';" ~/bin/repo

sed -ri "s;https://android.googlesource.com;git://10.20.15.143;" .repo/manifests/default.xml

gpg 錯誤

PLATFORM_SDK $

repo init -u git://github.com/mer-hybris/android.git -b hybris-12.1 --depth 1

# 出現fatal: cannot run /usr/bin/gpg: No such file or directory 等之類的錯誤時

# 解決辦法:

rm -rf $HOME/.repoconfig

git config --global gpg.program $(which gpg2)

安卓編譯報錯libsepolwrap.so does not exist

#在安卓編譯命令后加入參數

make SELINUX_IGNORE_NEVERALLOWS=true

5.2 設備倉庫

本地manifest包含特定于設備的存儲庫,適用于 Android 以及 mer-hybris 構建。

如果您的設備已經移植完成,它的代碼可能存儲在GitHub,您應該檢查這個倉庫(選擇您正在移植的hybris-*分支),并且在這一節使用$DEVICE.xml替代創建一個文件。

首先創建目錄:

mkdir $ANDROID_ROOT/.repo/local_manifests

如果您正工作于一個新的移植,您需要自己創建本地manifest:最少包含兩個倉庫:一個kernel倉庫、一個設備配置倉庫。從lineageOS device wiki中找到這些,對于Nexus5 這個將是:Build for hammerhead | LineageOS Wiki,

下面的本地manifest也需要指向正確的分支-識別哪個匹配默認的manifest分支(stable/cm-11.0 in Nexus 5 case)。

加入下面的內容到ANDROID_ROOT/.repo/local_manifests/DEVICE.xml:

<?xml version="1.0" encoding="UTF-8"?>

<manifest>

<project path="device/lge/hammerhead"

name="CyanogenMod/android_device_lge_hammerhead"

revision="stable/cm-11.0" />

<project path="kernel/lge/hammerhead"

name="CyanogenMod/android_kernel_lge_hammerhead"

revision="stable/cm-11.0" />

</manifest>

同步完整的源碼,時間將會比較久:

HABUILD_SDK $

repo sync --fetch-submodules

預期同步后的磁盤空間占用為13GB(2015-09-09,hybris-11.0 branch)。根據您的網絡連接狀態,這步操作將會花費一些時間。在這期間,您可以讓您自己熟悉這份指南剩下的部分。

筆記:

repo sync GnuTLS recv error

PLATFORM_SDK $

repo sync -c --force-sync --fetch-submodules --no-clone-bundle --no-tags

同步代碼時出現如下錯誤:

error: RPC failed; curl 56 GnuTLS recv error (-110): The TLS connection was non-properly terminated.

fatal: 遠端意外掛斷了

fatal: 過早的文件結束符(EOF)

fatal: index-pack 失敗

解決方案:

git config --global http.postBuffer 1048576000

sudo apt install gnutls-bin

repo sync 單個項目

PLATFORM_SDK $

repo sync -c --force-sync --fetch-submodules --no-clone-bundle --no-tags kernel/xiaomi/cancro

#kernel/xiaomi/cancro??是 .repo/local_manifests配置中的path。當前同步前如果有存在,請先刪除。

需要更新的三個項目,以匹配最新SDK

git -C rpm/dhd/ pull github master

git -C rpm/dhd/ checkout master

git -C hybris/droid-configs/droid-configs-device pull github master

git -C hybris/droid-configs/droid-configs-device checkout master

git -C hybris/droid-hal-version-$DEVICE/droid-hal-version pull github master

git -C hybris/droid-hal-version-$DEVICE/droid-hal-version checkout master

5.3配置掛載點信息

目前在sailfishos中,udev在initrd之后啟動,這讓我們無法使用通用的分區名稱(獨立于分區編號)。

在initrd中,我們必須硬編碼為/boot和/data分區指定/dev/mmcblkXpY節點。

在initrd之后,systemd需要掛載所有的其他需要的分區(類似 /system,/firmware,/presist,/config,...)來讓HAL層工作。需要的分區是從*.fstab和init*.rc中讀取,在其中禁用,并且創建相應的.mount單元--所有這些由$ANDROID_ROOT/rpm

(droid-hal-device)完成。

很遺憾,同樣是由于udev的后啟動,systemd不能識別.mount單元中的具名分區路徑,即使可以在/dev/block/platform/*/by-name/ or /dev/block/platform/*/*/by-name中看到已經創建好的節點。

為了解決這個問題,我們需要在hybris/hybris-boot/fixup-mountpoints中為每個設備創建分區名稱和編號之間的映射--這樣我們肯定會覆蓋到所有分區,因為如果手動通過查看fstab/rc文件完成,有些可能會被忽略。

為了獲取到這些映射,您應該燒寫并啟動Android base鏡像,并且在您的主機執行adb shell 并執行下列命令:

ls -l /dev/block/platform/*/by-name/

如果沒有產生任何結果,請嘗試:

ls -l /dev/block/platform/*/*/by-name/

有些情形下您也可以試試

ls -l /dev/block/bootdevice/by-name/

一旦您修補了 fixup-mountpoints,除非文件 .repo/local_manifests/$DEVICE.xml 指向 hybris-boot 帶有所需修復掛載點更改的 fork,請注意是否必須再次運行 repo sync--fetch-submodules 因為它會重置您的更改。

然后當你啟動到 Sailfish OS UI 時,請不要忘記上傳你的 fixup-mountpoints 補丁。

5.4構建Android base相關的部分

在 Android 構建樹中,在 bash shell(如果您當前使用的是zsh等終端,您需要切換回bash shell,因為安卓構建腳本假定您在執行bash) 中運行以下命令:

HABUILD_SDK $

source build/envsetup.sh

export USE_CCACHE=1

breakfast $DEVICE

make -j$(nproc --all) hybris-hal droidmedia

您可能需要多次迭代以發現缺少的存儲庫、工具、配置文件和其他內容。

相關的輸出部分將會在 out/target/product/$DEVICE/中,特別是:

hybris-boot.img: 內核和initrd

hybris-recovery.img: Recovery boot image

system/ 和 root/: HAL 系統庫和二進制

make hybris-hal 后output目錄 out/ 的大致大小為 10 GB(截至 2019-03-14,hybris-sony-aosp-8.1.0_r52-20190206 分支)

5.4.1 內核設置

一旦內核構建完成,您可以檢查內核配置。

您可以使用Mer kernel config checker:

HABUILD_SDK $

cd $ANDROID_ROOT

hybris/mer-kernel-check/mer_verify_kernel_config \

./out/target/product/$DEVICE/obj/KERNEL_OBJ/.config

向您的Android base 正在使用的默認配置文件應用列出的修改,哪一個?這個針對每個設備都不一樣,首先大概是這樣:

檢查$ANDROID_ROOT/device/$VENDOR/*/BoardConfig*.mk中TARGET_KERNEL_CONFIG的值。

檢查在構建內核時使用 defconfig 的 make bootimage 的輸出,例如:

??make -C kernel/lge/hammerhead ... cyanogenmod_hammerhead_defconfig

檢查您Android base的內核對于arch/arm*/configs文件夾的提交記錄,尋找默認配置文件。

如果您很著急,可以首先處理Error,但是也不要忘了回頭處理warning。在您完成所有的修改后,重新運行make hybris-boot并重新校驗。無休止的循環操作:)。最后 在沒有error之后執行make hybris-recovery。

5.4.2貢獻您的模塊

將內核存儲庫fork到您的 GitHub 主頁(在本文檔中以 myname 表示)。

對于以 CM 11.0 為基礎的 Nexus 5,下一步是(在適當的地方重命名以匹配您的設備/分支):

HABUILD_SDK $

cd kernel/lge/hammerhead

git checkout -b hybris-11.0

DEFCONFIG=arch/arm/configs/cyanogenmod_hammerhead_defconfig

git add $DEFCONFIG

git commit -m "Hybris-friendly defconfig"

git remote add myname https://github.com/myname/android_kernel_lge_hammerhead

git push myname hybris-11.0

為 github/mer-hybris 下的分支內核存儲庫創建 PR。 如果沒有,請讓 mer-hybris 管理員創建一個。

調整 .repo/local_manifests/$DEVICE.xml ,替換下列信息:

<project path="kernel/lge/hammerhead"

????name="CyanogenMod/android_kernel_lge_hammerhead"

????revision="stable/cm-11.0-XNG3C" />

為:

<project path="kernel/lge/hammerhead"

????name="myname/android_kernel_lge_hammerhead"

????revision="hybris-11.0" />

5.5常見陷阱

如果 repo sync --fetch-submodules 失敗并產生以下錯誤信息 fatal: duplicate path device/samsung/smdk4412-common in /home/nemo/android/.repo/manifest.xml, 用 rm .repo/local_manifests/roomservice.xml刪除本地 manifest。

git clone 命令出現“Forbidden . . . ” 。在 github 存儲庫上,您可能已達到 API 速率限制。 要解決此問題,請將您的 github 憑據放入 ~/.netrc。 可以通過以下鏈接找到更多信息:Perm.auth. with Git repositories

error: Cannot fetch . . . (GitError: –force-sync not enabled; cannot overwrite a local work tree., 經常在repo sync --fetch-submodules gets 中斷后發生. 這個repo工具的一個bug, 確保您的修改已經被安全地儲存 (使用 repo status), 然后使用下列命令修復:

??HABUILD_SDK $

??repo sync --force-sync

??repo sync --fetch-submodules

在某些情況下(使用并行構建),構建可能會失敗,在這種情況下,請使用 make -j1 ... 使用非并行構建重試并查看沒有并行作業輸出的錯誤消息。 構建通常以以下輸出結束:

??HABUILD_SDK $

??...

??Install: .../out/target/product/$DEVICE/hybris-recovery.img

??...

??Install: .../out/target/product/$DEVICE/hybris-boot.img

備注:

在使用第三方android源碼編譯hybris-boot.img時,注意hybris-boot文件夾里面的Android.mk中涉及到的HYBRIS_BOOT_PART以及HYBRIS_DATA_PART,如果么有被正確識別到,可以在文件里面將其直接寫死成設備正確的掛載分區點.例如:

HYBRIS_BOOT_PART :=/dev/block/platform/soc/soc:ap-apb/71900000.ufs/by-name/boot

HYBRIS_DATA_PART :=/dev/block/platform/soc/soc:ap-apb/71900000.ufs/by-name/userdata

筆記:

做適配時,需要翻看如下三個網站:

GitHub - mer-hybris/hadk-faq: FAQ for Sailfish OS porting guide (HADK)

kr9xx - collabedit

site:Sailfish OS IRC logs??some_message

platform SDK 與sailfishos SDK的用途差異:

platform SDK:

1.使用chroot作為構建環境,可以直接直接掛載本地文件目錄作為工作環境。

2.一般用于構建需要與Android base結合一起構建的軟件包。

sailfishos SDK:

1.使用docker容器,或VB虛擬機作為構建環境,工作環境基本與本機完全獨立。

2.一般用于構建應用層軟件包,且需要使用platform SDK構建出的hal層軟件包作為應用層依賴。

platform SDK編譯常用命令:

#設置生成的rpm包的target

sb2 -d SailfishOS-latest-aarch64

#指定spec文件編譯rpm包

mb2 -s $SPECFILE build

#生成帶debug信息的軟件包

mb2 -t $VENDOR-$DEVICE-$PORT_ARCH -s $SPECFILE build --enable-debug #若為qmake的構建的軟件包,則需要同時將qmake的構建模式變更為debug模式,不配置的話qt構建的gcc命令行會默認添加-no-debug參數,導致調試軟件包為空。

#從軟件源安裝軟件包

zypper in openssh-clients

# 手動安裝軟件包到target

sb2 -t $VENDOR-$DEVICE-$PORT_ARCH -m sdk-install -R zypper in $PACKAGENAME

或者

sdk-assistant target package-install $VENDOR-$DEVICE-$PORT_ARCH xxx.rpm

#進入指定target(可以查看安裝包信息狀態)

sdk-assistant target maintain

QT配置:

#定義生成dbug模式軟件包

#在pro文件最后一行添加如下定義:

CONFIG += debug

#release模式的定義為CONFIG += release

application SDK編譯常用命令:

#生成帶debug信息的軟件包

sfdk --specfile=rpm/geoclue-providers-hybris.spec build --enable-debug

#在target中安裝編譯依賴

sfdk --specfile=rpm/droidmedia.spec build-requires

#常規構建命令

sfdk --specfile=rpm/droidmedia.spec build

#設置編譯目標環境

sfdk config --push target SailfishOS-4.1.0.24-aarch64

#進入SDK構建虛擬機

sfdk tools exec SailfishOS-4.1.0.24-aarch64

后半部分持續更新......

總結

以上是生活随笔為你收集整理的Sailfish OS构建(1)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

国产免费久久久久 | 久久亚洲人 | 亚洲欧美偷拍另类 | 国产特级毛片 | 久久久高清一区二区三区 | 成年人在线观看网站 | 一区二区三区日韩视频在线观看 | 国产精品成人自产拍在线观看 | 天操夜夜操| 亚洲一级免费观看 | www.五月天婷婷 | 99久久毛片 | 天天综合网 天天综合色 | 国产精品观看在线亚洲人成网 | 五月婷婷一级片 | 日本黄色免费观看 | 国产成人三级在线播放 | 国产精品自在线拍国产 | 色中色亚洲| 91精品国产一区二区三区 | 91成年视频| 亚洲精品在线免费观看视频 | 国产精品精品国产 | 日韩国产精品久久久久久亚洲 | 日韩aⅴ视频 | 国产在线视频资源 | 国产一区二区三区 在线 | 色狠狠综合 | 黄网站www | 激情图片久久 | 国产a免费 | 黄色看片 | 一区二区三区在线免费观看视频 | 99久久精品免费一区 | 成人av在线直播 | 激情av网址 | 中文字幕 欧美性 | 免费福利在线播放 | 日韩网站在线观看 | 天天干人人| 亚洲三级在线 | 国产精品久久久久久婷婷天堂 | 草樱av | 国产精品久久久久久麻豆一区 | 在线精品播放 | 精品一区电影 | 韩国一区二区三区在线观看 | 久久久久久网址 | 亚洲国产成人精品电影在线观看 | 麻豆91精品视频 | www..com黄色片 | 91午夜精品 | 国产精品第一视频 | 99热只有精品在线观看 | 亚洲精品久 | 亚洲伦理一区 | 一本一本久久aa综合精品 | 久久国产精品一二三区 | 国产剧情在线一区 | avsex| 日韩在线观看中文字幕 | 国产小视频在线免费观看视频 | 91爱爱免费观看 | 国产91在线观看 | 国产日韩精品欧美 | 97爱爱爱 | 日韩电影在线观看一区二区 | 91看片一区二区三区 | 国产经典 欧美精品 | 中文字幕一区二区三区久久蜜桃 | a视频在线观看免费 | 97免费视频在线播放 | 午夜a区 | av字幕在线 | 天天操天天射天天 | 成人一区二区三区在线观看 | 黄色片网站大全 | 亚洲女同ⅹxx女同tv | 精品在线99| 波多野结衣在线播放视频 | 亚洲成人网在线 | 精品在线看 | 日韩大片免费在线观看 | 国产精成人品免费观看 | 激情亚洲综合在线 | 香蕉影院在线观看 | 精品亚洲视频在线观看 | 国产成人精品久久 | 国产最新在线观看 | 超碰97人人射妻 | 伊人看片 | 免费在线观看的av网站 | 九九热只有精品 | 免费69视频| 日韩激情在线 | 亚洲日本在线视频观看 | 婷婷在线资源 | 日本中文字幕在线视频 | 国产成人精品一区二区在线 | 91av视频在线观看免费 | 成人在线小视频 | 国产麻豆精品一区二区 | 一区二区三区在线观看免费 | 精品一区二区av | 久久刺激视频 | 午夜视频免费播放 | 深爱激情站 | 日本公妇在线观看 | av千婊在线免费观看 | 日韩在线播放视频 | 欧美极品少妇xbxb性爽爽视频 | 69精品视频 | 国内精品视频一区二区三区八戒 | 午夜日b视频 | 久久久久国产成人免费精品免费 | 黄色一集片 | 伊甸园永久入口www 99热 精品在线 | 国产一区二区在线视频观看 | 亚洲综合婷婷 | 国产精品 日韩精品 | 欧美性极品xxxx娇小 | 免费电影一区二区三区 | 蜜臀一区二区三区精品免费视频 | 欧美日本日韩aⅴ在线视频 插插插色综合 | 热久在线 | 91高清不卡| 久久久久国产精品视频 | 亚洲1级片| 久久国产精品99精国产 | 中文字幕综合在线 | 日韩视频专区 | 福利视频一区二区 | 色在线国产 | 久久久精品久久日韩一区综合 | av电影中文 | 夜夜夜夜爽 | 日本女人在线观看 | 精品国产一区二区三区免费 | 视频99爱| 久久黄色精品视频 | 日韩大片免费在线观看 | 久久久午夜精品理论片中文字幕 | 中文亚洲欧美日韩 | 亚洲精品高清一区二区三区四区 | 日韩精品三区四区 | 日韩动漫免费观看高清完整版在线观看 | 天天爱天天操天天爽 | 五月天精品视频 | 亚洲精品视频在线观看视频 | 在线观看免费福利 | 激情综合网五月 | 日日日日干 | 91在线亚洲 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 亚洲精品成人在线 | 欧美性色19p | 精品专区一区二区 | 波多野结衣一区二区三区中文字幕 | 色婷婷99| 激情综合网色播五月 | 亚洲精品视频免费 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 国产成人性色生活片 | 久久久一本精品99久久精品 | 欧美另类调教 | 久久男女视频 | 国产a高清 | 日韩在线在线 | 一本大道久久精品懂色aⅴ 五月婷社区 | 亚洲视屏一区 | 国产不卡免费视频 | 99精品国产免费久久久久久下载 | 亚洲精品女人久久久 | 国产精品久久一区二区三区不卡 | 西西www4444大胆在线 | 久久99久久99精品免视看婷婷 | 麻豆视频一区二区 | 在线日本看片免费人成视久网 | 亚洲情婷婷| 亚洲在线视频播放 | 狠狠干干 | 蜜桃视频在线视频 | 97精品一区二区三区 | av爱干 | 亚洲精品中文字幕视频 | 国产精品福利一区 | 人人澡人人草 | 久久精品人 | 国产精品男女视频 | 久久综合福利 | 亚洲成熟女人毛片在线 | 亚洲精品乱码久久久一二三 | 亚州国产精品久久久 | 亚洲精品福利视频 | 婷婷丁香色 | 国产精品久久久久久久久久久不卡 | 国产中文字幕一区二区 | 最近中文字幕mv免费高清在线 | 99热在线看 | 久久国产热视频 | 91看片在线免费观看 | 久久五月天婷婷 | 久久av黄色 | 国产小视频在线免费观看 | 国产aa免费视频 | www天天操 | 国产99区| 久草视频中文在线 | 亚洲欧洲成人精品av97 | 伊人色综合久久天天 | 狠色在线 | 中文在线www | 国产一级免费视频 | 国产99久久九九精品免费 | 国产精品69久久久久 | 色欲综合视频天天天 | 欧美在线观看视频一区二区三区 | 亚洲激情av | 亚洲欧美偷拍另类 | 午夜av在线 | 亚洲一区二区三区91 | 在线看黄色的网站 | 黄色特一级片 | 97超级碰碰碰碰久久久久 | 久久99亚洲热视 | 欧美 日韩 国产 成人 在线 | 久久这里只有精品1 | 91精品国产福利在线观看 | 亚洲二区精品 | 日韩超碰 | 丁香婷婷综合色啪 | 色5月婷婷| 久久一精品 | 最新av在线播放 | 亚洲3级 | 一级成人免费视频 | 婷婷色 亚洲 | 国产亚洲精品久久久久久无几年桃 | 亚洲在线| 国内精品久久久久影院一蜜桃 | 日韩免费高清在线 | 毛片网在线观看 | 国产91精品看黄网站在线观看动漫 | www.五月激情.com| 午夜av不卡 | 精品久久久久久电影 | 亚洲国产中文字幕 | 麻豆免费观看视频 | 成人午夜电影在线观看 | 欧美在线视频一区二区 | 成人av亚洲 | 国产亚洲人成网站在线观看 | 狠狠狠色丁香婷婷综合激情 | 久久久91精品国产一区二区三区 | 国产精品99久久久久久久久久久久 | 一区二区 精品 | 伊人婷婷激情 | 最近中文字幕大全中文字幕免费 | 久草在线免 | 精品夜夜嗨av一区二区三区 | 免费影视大全推荐 | 婷婷伊人综合亚洲综合网 | 国产精品s色 | 四虎影视国产精品免费久久 | 日韩高清成人 | 91精品久久久久久综合乱菊 | 午夜精品久久久久久 | 国内视频在线 | 一区二区三区在线观看免费 | 日本69hd | 亚洲日韩精品欧美一区二区 | 青草视频在线 | 免费在线观看黄色网 | 亚洲激情一区二区三区 | 黄网站色成年免费观看 | 亚洲国产日韩欧美在线 | 欧美一二三四在线 | 日韩欧美网站 | 国产午夜三级一区二区三 | 伊人天天干 | 在线观看中文字幕一区 | 久久国产精品影视 | 三级黄色片在线观看 | 成人黄色av免费在线观看 | v片在线播放 | 色综合久久88色综合天天6 | 欧美成人久久 | 免费www视频 | .国产精品成人自产拍在线观看6 | 一本一道久久a久久综合蜜桃 | 中文字幕黄色网址 | 欧美国产高清 | 97人人澡人人添人人爽超碰 | 中文字幕在线国产 | 午夜18视频在线观看 | 在线观看成人网 | 久久网站最新地址 | 色激情在线 | 日韩中文字幕电影 | 欧美日韩综合在线 | 国产成人免费在线观看 | 在线观看一 | 丁香婷婷久久 | 亚洲在线精品视频 | 国产视频在线观看一区二区 | 日韩r级电影在线观看 | 欧美一级黄色网 | www.狠狠操| av成人免费在线看 | 在线免费亚洲 | 久久人人爽人人爽人人片 | 国产五码一区 | 天天操,夜夜操 | 日韩欧美精品在线视频 | 色婷婷激情五月 | 91豆麻精品91久久久久久 | 日韩电影在线一区二区 | 国产精品久久伊人 | 五月婷婷深开心 | 国产精品theporn | 国产精品第一页在线观看 | 女人魂免费观看 | 天天综合网久久 | 成年人免费看片 | 免费三级av | 99999精品| 狠狠色狠狠色合久久伊人 | 亚洲精品小区久久久久久 | 亚洲久久视频 | 欧美日韩视频在线播放 | 婷婷在线免费视频 | 久久热首页 | 久久久免费国产 | 99这里只有 | 狠狠躁日日躁狂躁夜夜躁av | 亚洲国产精品99久久久久久久久 | 99免费在线观看视频 | 丁香婷婷射| 在线看岛国av| 亚洲国产中文字幕 | 成年人免费在线观看网站 | 亚洲黄色在线观看 | 视频在线在亚洲 | 五月天婷婷综合 | 精品在线二区 | 五月激情丁香图片 | www.久久99 | 中文字幕国内精品 | 在线观看免费观看在线91 | 精品国产色 | 国产五十路毛片 | 日本黄色a级大片 | 永久免费的av电影 | 99久久精品久久亚洲精品 | 午夜av在线电影 | 天天干天天射天天操 | 午夜国产福利在线 | 97色se| avv天堂| 香蕉视频91 | 在线观看涩涩 | 国产中文字幕一区 | 一区二区三区手机在线观看 | 国产在线最新 | 91精品国产自产在线观看 | 欧美日韩色婷婷 | 日韩电影一区二区三区 | 黄色av网站在线观看免费 | 久久欧美视频 | 亚洲国产欧美一区二区三区丁香婷 | 青青河边草免费视频 | 中文字幕在线观看完整版电影 | 成人avav| av在线播放观看 | 欧美日韩免费看 | 最近中文字幕在线播放 | 日韩欧美在线第一页 | 婷婷色婷婷 | 精品不卡av | 天天操天天干天天干 | 成人午夜在线电影 | 最新日韩在线观看视频 | 亚洲国产精品成人综合 | 久久久久久久久久久影视 | 六月色婷 | 欧美日韩精品在线观看视频 | 久久久久久久久久久国产精品 | 中文字幕在线观看资源 | 色偷偷男人的天堂av | 九九免费观看视频 | 丁香激情五月婷婷 | av亚洲产国偷v产偷v自拍小说 | 黄色电影小说 | 久久99婷婷| 亚洲天堂网视频在线观看 | 久久国产日韩 | 精品久久视频 | 在线观看亚洲成人 | 精品久久久一区二区 | 免费瑟瑟网站 | 欧美肥妇free | 狠狠狠狠狠狠操 | 激情欧美xxxx | 99热这里只有精品在线观看 | 国产成人在线播放 | 麻豆91在线| 超碰在线观看av | 黄色成人在线观看 | 中文字幕文字幕一区二区 | 国产伦理久久精品久久久久_ | 九九久久久久久久久激情 | 国产在线一区二区 | 中文字幕成人一区 | 精品国产欧美一区二区 | 日韩黄色在线观看 | 亚洲视频,欧洲视频 | 成人在线观看免费 | 午夜久久久久久久 | 97在线免费观看 | 波多野结衣电影久久 | 国产999免费视频 | 5月丁香婷婷综合 | 免费看国产视频 | 91一区二区三区久久久久国产乱 | 亚洲一一在线 | 992tv成人免费看片 | 成人夜晚看av | 国产精品毛片一区二区 | 欧美福利网站 | 日韩精品字幕 | 毛片在线网 | 午夜视频在线观看一区二区三区 | 99在线精品视频在线观看 | 中文字幕精品www乱入免费视频 | 欧美精品首页 | 免费视频资源 | 欧美精品国产综合久久 | 天天曰夜夜操 | 黄在线免费看 | www.夜夜爽| 四虎国产永久在线精品 | 亚洲狠狠干| av免费网站| 中文字幕日本电影 | av国产在线观看 | 亚洲高清在线视频 | 九九热有精品 | 黄色一级大片在线免费看产 | 免费福利小视频 | av在线影视 | 日本中文字幕在线视频 | 国产尤物在线视频 | 成人综合婷婷国产精品久久免费 | 国产 日韩 中文字幕 | 国产流白浆高潮在线观看 | 91人人澡人人爽 | 99久久电影| 中文字幕一区二区三区四区 | 91久久久久久久一区二区 | 免费三级在线 | 国产精品久久三 | 日本中文字幕在线电影 | 亚洲永久av | 狠狠狠狠狠狠狠狠 | 日韩成人免费在线电影 | 人人爽人人爽人人片av免 | 中文在线最新版天堂 | 在线一区二区三区 | 成人黄色一级视频 | 久久er99热精品一区二区三区 | 日日爱视频 | 一级欧美一级日韩 | 岛国av在线免费 | 91成人精品一区在线播放 | 免费av片在线 | 视频福利在线观看 | 999久久久久久 | 在线观影网站 | 久草青青在线观看 | 久久久国产精品成人免费 | 日日干日日色 | 国产精品久久久久久久久搜平片 | 久久久在线 | 91探花系列在线播放 | 激情 一区二区 | 久久久久久久久久久久av | 久久精品久久99精品久久 | 免费视频网 | 97超碰站| 亚洲精品字幕在线 | 在线岛国av| 成人免费视频网站在线观看 | 国产一区在线免费观看视频 | 国产精品免费人成网站 | 久久不卡国产精品一区二区 | 日韩一区二区免费在线观看 | 麻花豆传媒mv在线观看网站 | 五月婷婷狠狠 | 中文av网 | 国产精品久久久久久久久久久久午夜片 | 四虎成人免费影院 | 久久久国产精华液 | www久草| 国产亚洲精品综合一区91 | 国产精品99久久久久久有的能看 | 日韩在线免费播放 | 国产区在线 | 免费视频一二三区 | 日日夜夜天天久久 | 欧美精选一区二区三区 | 免费日韩| 黄色99视频 | 亚洲精品乱码久久久久久按摩 | 中文字幕亚洲综合久久五月天色无吗'' | 999色视频| www夜夜操com| 综合久久久久久 | 久久国产99| 久久精品99国产国产 | 欧美在线视频第一页 | 欧美日韩1区2区 | 久草在线免费看视频 | 色94色欧美| av大片免费看 | 国产日韩精品欧美 | 国产精品久久久久久久久岛 | 深爱激情站 | 久久在线免费观看 | www在线免费观看 | 日韩综合一区二区三区 | 久久理伦片 | 国产亚洲精品久久久久久久久久 | 亚洲国内精品在线 | 91成人免费视频 | 国产综合在线观看视频 | 欧美日韩一区二区视频在线观看 | 国产香蕉久久精品综合网 | 一二区精品 | 视频在线观看国产 | 日本中文字幕在线看 | 成人黄色在线视频 | 亚洲精品a区 | 日日弄天天弄美女bbbb | 日日夜夜中文字幕 | 久久爱992xxoo | 国产精品久久久久久久久久久杏吧 | 免费看色视频 | 97国产视频 | 国产不卡免费av | 国产精品一区二区三区四区在线观看 | 狠狠干狠狠插 | 高清国产一区 | 久草视频在线观 | 欧美在线观看视频 | 日韩大片在线免费观看 | 天堂av在线网 | 免费看的黄色 | 国产九九热| 久久影院精品 | 中文字幕一区二区在线观看 | 天天操夜夜拍 | 国内精品久久久久久久97牛牛 | 日韩精品在线一区 | 久久久久久99精品 | 亚洲精品国偷自产在线91正片 | 国产精品色视频 | 波多野结衣视频一区二区三区 | 国产一级视频 | 五月天天天操 | 亚洲午夜久久久影院 | 亚洲免费视频在线观看 | 欧美成人性网 | 免费影视大全推荐 | 国产视频精品视频 | 国产高清免费在线观看 | 午夜精品久久久久久久99无限制 | 99精品久久久久 | 99热在线免费观看 | 91理论电影| 日韩精品免费专区 | 草莓视频在线观看免费观看 | 精品视频免费在线 | 久久亚洲影院 | 亚洲人人av | 国产福利免费在线观看 | 亚洲欧美成人在线 | 精品国产乱码久久久久久久 | 黄色在线成人 | 日韩电影在线一区二区 | 天天插夜夜操 | 操高跟美女 | 成人黄色片免费 | 亚洲黄色在线观看 | 中文字幕在线影院 | 久操免费视频 | 91av视频在线免费观看 | 中文字幕免费观看视频 | 娇妻呻吟一区二区三区 | 一区二区三区在线视频观看58 | 91精品爽啪蜜夜国产在线播放 | 视频高清 | 丁香网婷婷 | 美女网站黄在线观看 | 国产资源网站 | 日本黄色大片免费看 | 国产一区在线免费观看 | 女人18毛片90分钟 | 欧美成人xxxx | 午夜10000| 免费看一级片 | 在线免费视 | 午夜影院一级 | 中文字幕在线网址 | 在线观看国产亚洲 | 日韩理论在线 | 欧美国产日韩一区 | 国产精品免费一区二区三区 | 亚洲免费国产视频 | 天天射天天射天天 | 日韩激情中文字幕 | 日韩精品亚洲专区在线观看 | 97视频资源 | 亚洲精品成人网 | 99久久精品午夜一区二区小说 | 香蕉成人在线视频 | 视频一区二区视频 | 四虎国产视频 | 欧洲精品码一区二区三区免费看 | 天天干夜夜 | 成人在线中文字幕 | 国产又黄又猛又粗 | 黄色一二级片 | 久久99国产综合精品免费 | 一区免费视频 | 日韩超碰 | 日韩中文字幕免费视频 | 精品久久久久久久久久久院品网 | 亚洲精品乱码久久久久久按摩 | 中文字幕有码在线播放 | 美女黄久久 | 中文字幕第一页在线vr | 免费高清av在线看 | www.99热精品 | www.888av| 日韩高清一二三区 | 偷拍区另类综合在线 | 黄网站免费久久 | 国产91影院 | 91完整版观看 | 天天激情综合网 | 亚洲综合色播 | 在线精品一区二区 | 国产精品欧美久久久久久 | 成人免费一区二区三区在线观看 | 天天干天天操天天拍 | 国产精品成人自拍 | 国产精品嫩草影视久久久 | 欧美a级片免费看 | 日韩在线三级 | 色综合久久五月 | 丁香激情网 | 伊人导航 | 久久久久久国产精品久久 | 色开心| 亚洲精品视频二区 | 国内精品国产三级国产aⅴ久 | 日韩伦理片一区二区三区 | 91成人在线看 | 伊人五月婷 | 三级a视频 | 免费看高清毛片 | 国产一级黄色电影 | 婷婷色网站 | 丝袜+亚洲+另类+欧美+变态 | 国产精品久久久久永久免费看 | 久色 网 | 亚洲欧美一区二区三区孕妇写真 | www色片| japanesefreesexvideo高潮 | 亚洲综合色网站 | 国产爽视频 | 奇米影视777四色米奇影院 | 国内精品久久久久影院男同志 | 91av短视频 | 日韩精品高清不卡 | 精品电影一区二区 | 亚洲国产经典视频 | av一区二区在线观看中文字幕 | 国精产品永久999 | 久久久久久久久久电影 | 欧美成a人片在线观看久 | 天天操夜夜逼 | 97视频在线看 | 天天狠狠 | 免费日韩在线 | 久久久久激情 | 91麻豆精品国产午夜天堂 | 91超碰免费在线 | 最近中文字幕视频完整版 | 亚洲一区久久 | 亚洲少妇久久 | 日本三级在线观看中文字 | 特级毛片aaa| 九九精品视频在线看 | 国产中文字幕视频在线观看 | 色美女在线 | 在线视频国产区 | 国产一级在线观看视频 | 一区二区三区在线看 | 欧美日韩高清不卡 | www欧美日韩| 91最新网址在线观看 | 天天做天天干 | 欧美日韩久久不卡 | 国产资源网 | 夜夜爽天天爽 | 亚洲欧洲精品一区二区精品久久久 | 丁香视频在线观看 | 手机看片1042 | 一区二区欧美日韩 | 国产精品自产拍在线观看蜜 | 欧美大片在线看免费观看 | 午夜精品一区二区三区可下载 | 亚洲欧美激情精品一区二区 | 狠狠躁日日躁狂躁夜夜躁av | 免费日韩 精品中文字幕视频在线 | 中文字幕精品一区二区三区电影 | 丁香六月在线 | 日韩成人黄色 | 黄色毛片一级 | 亚洲精品乱码久久久久久9色 | 欧美日韩成人 | 91刺激视频| 国产91在线观看 | 免费日韩三级 | 9999激情 | 不卡av在线免费观看 | 色综合天天综合网国产成人网 | 中文字幕一区二区三区乱码不卡 | 97超碰人人澡人人爱学生 | 国产成人av网站 | 天天躁天天躁天天躁婷 | 69成人在线| 国产小视频你懂的 | 国内精品视频在线 | 国内精品久久久久影院优 | 国产亚洲精品久久久久久久久久 | 激情网在线观看 | av色综合| 午夜在线观看影院 | 日韩亚洲国产精品 | 五月天婷婷在线观看视频 | 久草在线中文888 | 在线观看 亚洲 | 欧美污在线观看 | 91少妇精拍在线播放 | 国产不卡在线观看视频 | 99久久精品日本一区二区免费 | 久草影视在线观看 | 日韩久久久久久久久久 | 日韩一区二区免费在线观看 | 国产精品一区电影 | 六月丁香六月婷婷 | 涩涩网站免费 | 天天操天天摸天天射 | 中文字幕精品视频 | 久久久男人的天堂 | www亚洲一区 | 亚洲国产精品久久 | 四虎8848免费高清在线观看 | 精品国产区 | www色,com | 国产成人精品午夜在线播放 | 人人爱在线视频 | 精品国产免费看 | 色婷五月| 日韩精品aaa| 久久久午夜剧场 | 日韩欧美一区二区三区在线观看 | 久草网视频 | 开心婷婷色 | 久久精品视频在线观看 | 欧美日韩视频在线一区 | 欧美日韩精品国产 | 久久蜜桃av | 婷婷色综| 国产精品美女www爽爽爽视频 | 免费在线观看不卡av | 99视频在线观看一区三区 | 天天综合在线观看 | 狠狠狠色狠狠色综合 | 久久这里只有精品23 | 日本韩国中文字幕 | 综合激情婷婷 | 国产日本三级 | 亚洲视频电影在线 | 国产精品国内免费一区二区三区 | 色偷偷97 | 韩国一区二区av | 国产精品99久久久久的智能播放 | 欧美a在线看| 美女av免费 | 中文在线最新版天堂 | 亚洲综合导航 | 日韩欧美在线视频一区二区三区 | 久久久久久久久久久影院 | 九九九热 | 91精品国产麻豆国产自产影视 | 亚洲精品综合欧美二区变态 | 99久久99久久精品 | 亚洲成av人电影 | 日韩欧美网站 | 天天躁日日| 精品久久久久久久久久久久久 | 国产一区二区三区午夜 | 在线观看中文av | 美女黄频视频大全 | 91看片淫黄大片一级在线观看 | 99久久日韩精品免费热麻豆美女 | 色视频网站免费观看 | 色妞色视频一区二区三区四区 | 毛片网站在线看 | 夜夜操天天干 | 国产精品激情在线观看 | 欧美成人黄| 色噜噜狠狠色综合中国 | 西西444www | 久久艹在线 | 特级毛片网站 | 啪啪肉肉污av国网站 | 国产精品女 | 91大神免费在线观看 | 国产精品久免费的黄网站 | 在线免费国产 | 日本三级全黄少妇三2023 | 超级碰碰碰视频 | 久久国产精品99久久久久久老狼 | 久久免费视频网站 | 国产日韩中文字幕 | 四虎影院在线观看av | 亚洲精品xxxx | 成人免费视频免费观看 | 麻豆视频免费在线 | 五月天色网站 | 国产高清视频免费最新在线 | av资源免费在线观看 | 欧美一区二区精品在线 | 国产a国产 | 国产精品成人一区 | 高清av中文在线字幕观看1 | 91精品啪啪 | 欧美-第1页-屁屁影院 | 中文字幕视频播放 | 亚洲最新在线 | 超碰个人在线 | 四虎国产精品成人免费4hu | 精品毛片久久久久久 | 人人干人人做 | 国产一区精品在线观看 | 97精品超碰一区二区三区 | 91在线你懂的 | 久久免费看 | 久久精品麻豆 | 国产精品久久久久久久7电影 | 最近日本中文字幕a | 91超碰免费在线 | 免费麻豆网站 | 日韩av在线免费播放 | 国产婷婷| 日日夜夜精品免费观看 | 在线精品视频在线观看高清 | 国产欧美久久久精品影院 | 成人免费中文字幕 | 99理论片| 成人欧美一区二区三区在线观看 | 免费视频一级片 | 在线免费黄色片 | 国产精品久久久久久久久免费 | 国产精品入口a级 | 日本精品视频在线播放 | av直接看 | 亚洲国产精品电影 | 中国一 片免费观看 | 国模视频一区二区三区 | 玖玖爱国产在线 | 国产成视频在线观看 | 午夜精品福利在线 | 欧美一区二区在线免费看 | 高清av中文字幕 | 亚洲国产三级在线 | 2019中文 | 日韩a欧美| 久草手机视频 | 在线免费视频一区 | 久久久久国产精品一区 | 99热这里精品 | 久久视频一区二区 | 97超碰国产在线 | 国产精品久久三 | 国产精品久久久免费看 | 久久免费av电影 | av高清一区二区三区 | 久久99九九99精品 | 久久久久久国产一区二区三区 | 日女人免费视频 | 亚洲欧洲精品一区二区精品久久久 | 欧洲精品久久久久毛片完整版 | 精品一区二区6 | 久久99精品视频 | 日韩黄色av网站 | 成年人视频在线 | 中文字幕电影高清在线观看 | 日本免费一二三区 | 黄在线 | 色视频在线观看免费 | 欧美日韩国产精品久久 | 国产成人精品一区二区三区福利 | 黄色小说网站在线 | 99精品视频一区二区 | 国产五月婷 | 亚洲做受高潮欧美裸体 | 最近中文字幕完整高清 | 亚洲一级理论片 | 午夜久久影院 | 亚洲视频一区二区三区在线观看 | 成人欧美一区二区三区在线观看 | 婷婷久久丁香 | 首页国产精品 | 天天插天天狠 | 亚州精品在线视频 | 久久视频精品 | 九月婷婷人人澡人人添人人爽 | 国内精品久久久久久久久久 | 999亚洲国产996395 | 久久久久在线观看 | 精品国产视频在线 | 综合色影院 | 久久草网站 | 中国美女一级看片 | 黄色免费网站 | 欧美 日韩 视频 | 99精品久久久久久久久久综合 | 成人免费网站视频 | 成年人天堂com | 888av| 欧美精品久久久久久久久久久 | 久久久久久久久久久久久久电影 | 精品黄色在线观看 | 成人免费观看视频大全 | 麻豆一区在线观看 | 午夜视频在线观看一区二区 | 99re中文字幕 | 精品国产精品一区二区夜夜嗨 | 亚洲欧美视频一区二区三区 | 日韩中午字幕 | 中文字字幕在线 | 久久99久久99精品免观看粉嫩 | 天天综合网久久 | 久久久国产精品免费 | 韩国精品福利一区二区三区 | 久久精品国产一区二区三 | 91成人免费看片 | 又紧又大又爽精品一区二区 | 亚洲精品免费观看 | 新版资源中文在线观看 | 91观看视频 | 亚洲精品自在在线观看 | 天天干婷婷 | 中文字幕亚洲字幕 | 国产精品久久久久久一区二区 | 天天久久夜夜 | 亚洲资源片 | 国产一区二区在线免费播放 | 色综合久久精品 | av蜜桃在线 | 亚洲精品美女在线观看 | 国产精品1区2区3区 久久免费视频7 | 五月天婷婷在线观看视频 | 黄色福利网 | 欧美精品一区二区三区一线天视频 | 麻花豆传媒mv在线观看 | 亚洲精选国产 | 视频一区亚洲 | 久久综合婷婷 | 91片黄在线观 | 特级黄录像视频 | 免费麻豆视频 | 日韩中文字幕免费看 | www.天天射.com | 天天干天天做天天爱 | 免费a级毛片在线看 | 六月丁香六月婷婷 | 日韩美精品视频 | 在线观看mv的中文字幕网站 | 亚洲视频 在线观看 | 91大神免费视频 | 在线免费高清一区二区三区 | 天天综合网在线观看 |