Yocto自定義SDK(一)

2021-10-16 22:27:30 字數 1961 閱讀 9121

本文描述了可應用於可擴充套件sdk的自定義項。

可擴充套件的sdk主要包括從其生產的openembedded構建系統的預配置副本。 因此,sdk的配置是使用該構建系統和下表中顯示的過濾器得出的。 當存在這些過濾器時,openembedded構建系統將它們應用於local.conf和auto.conf:

另外,如果存在conf / sdk-extra.conf的內容,則將其附加到生成的sdk中conf / local.conf的末尾,而無需進行任何過濾。 如果僅想為sdk而不是用於建立sdk的openembedded構建系統設定變數值,則sdk-extra.conf檔案特別有用。

在大多數情況下,可擴充套件的sdk預設值應與構建主機的設定一起使用。

但是,在某些情況下,您可以考慮進行調整:

如果您的sdk配置使用inherit變數繼承了其他類,並且您不需要或不想在sdk中啟用這些類,則可以將它們新增到黑名單,方法是將它們新增到sdk_inherit_blacklist變數中,如上一節的第四條所述。

注意
如果您具有將其他任務新增到標準構建流程中的類或recipe (即,任務在recipe 構建時執行,而不是顯式呼叫),則需要執行以下操作之一:

1)在確保任務為共享狀態任務(即任務的輸出儲存到共享狀態快取並可以從共享狀態快取還原)之後,或確保可以從作為共享狀態任務的任務快速生成任務之後,新增 任務名稱改為sdk_recrdep_tasks的值。

2)如果任務是由類新增的,則禁用它們,而您不需要該類在可擴充套件sdk中提供的功能。 要禁用任務,請按照上一節中的說明將類新增到sdk_inherit_blacklist變數中。

如果您已經調整了corebase中顯示的檔案和目錄的列表(而不是通過bblayers.conf啟用的層),則必須在corebase_files中列出這些檔案,以便將這些檔案複製到sdk中。

如果您的openembedded構建系統安裝程式使用了oe-init-build-env以外的其他環境設定指令碼,則必須將oe_init_env_script設定為指向您使用的環境設定指令碼。

注意

如前所述,您還必須在用於corebase_files變數的值中反映此更改。

預設情況下,此標題在設定時是從distro_name派生的。 如果未設定distro_name變數,則標題是從distro變數派生的。

populate_sdk_base類定義sdk_title變數的預設值,如下所示:

sdk_title ??= "$ sdk"
雖然有多種方法可以更改此變數,但是一種有效的方法是在您的發行版的配置檔案中設定變數。 這樣做會建立乙個適用於您的發行版的sdk安裝程式標題。 例如,假設您的發行版有自己的層,名為「 meta-mydistro」,並且使用的檔案層次結構型別與預設的「 poky」發行版相同。 如果是這樣,您可以使用以下格式更新〜/ meta-mydistro / conf / distro / mydistro.conf檔案中的sdk_title變數:

sdk_title = "your_title"
當您對配置或元資料進行更改時,如果希望這些更改反映在已安裝的sdk中,則需要執行其他步驟。 這些步驟使使用已安裝的sdk的任何人都可以通過使用devtool sdk-update命令來更新已安裝的sdk:

建立乙個可以通過http或https共享的目錄。 您可以通過在雲中設定web伺服器(例如apache http server或nginx server)來託管目錄來實現此目的。 此目錄必須包含已發布的sdk。

正常構建可擴充套件的sdk(即,使用bitbake -c populate_sdk_ext imagename命令)。

使用以下命令發布sdk:

$ oe-publish-sdk some_path/sdk-installer.sh path_to_shared_http_directory
每次使用要通過更新機制提供的更改來重建sdk時,都必須重複此步驟。

Yocto自定義SDK(二)

2 customizing the standard sdk 在為可擴充套件sdk構建安裝程式時,sdk的預設安裝目錄基於populate sdk base類中的distro和sdkextpath變數,如下所示 sdkextpath sdk 您可以通過專門設定sdkextpath變數來更改此預設安裝...

Android自定義開發SDK與呼叫

介紹以.jar aar包形式製作自己的sdk,並實現呼叫的過程。將使用opencv實現灰度化的方式打包為.jar aar包,並實現呼叫,opencv使用jni實現本地方法呼叫。建立乙個module用於製作sdk,opencv環境搭建和 編寫部分參考一下部落格 opencv環境搭建 android 在...

自定義sdk後專案引用問題

自定義sdk作為依賴供專案使用,總是發現,包依賴已經依賴去了,但是在使用時就是導不進去類所使用的包 最後發現是因為我用的springboot外掛程式打得可執行jar包,單純的依賴要打成不可執行jar包,打包外掛程式進行更換後解決 build plugins plugin artifactid m e...