日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android 交叉编译so,Android交叉编译htop和使用方法

發布時間:2023/12/10 Android 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 交叉编译so,Android交叉编译htop和使用方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

htop來源于top,top是Unix/linux下功能強大的性能檢測工具之一,用于實時檢測并統計進程的屬性和狀態,基于ncurses庫,可上顯示文字界面。但是top已經非常陳舊,不支持鼠標點擊操作,不支持查看進程的各個子線程的信息(對于我來說,這個非常重要,有助于分析代碼的效率并優化),不支持color顯示,易用性較差(曾有人提出改進top但未被接受)。htop官網對htop和top的比較:

2、htop源碼下載

網站首頁:

源碼下載:git clone

GitHub地址:

目前最新版本是2.0.1,次之2.0.0,再次之1.0.3

3、使用ndk進行交叉編譯

3.1下載ndk,不同的Android版本有不同的ndk,4.4使用的是android-ndk-r9b-linux-x86_64.tar.bz2();android

5.0的NDK下載地址()

3.2解壓android-ndk-r9b-linux-x86_64.tar.bz2,并安裝交叉編譯工具,安裝之后,就按照正常的linux交叉編譯流程操作就可以了

$./make-standalone-toolchain.sh

--arch=arm --ndk-dir=/home/klaus/tools/android-ndk-r9b --system=linux-x86_64

--install-dir=/home/klaus/tools/android-ndk-r9b --platform=android-19

這樣就將交叉編譯工具安裝到/home/klaus/tools/android-ndk-r9b

3.3交叉編譯ncurses

htop編譯時,必須有ncurses庫的支持,所以編譯htop之前,必須先編譯ncurses。

下載ncurses:

$./configure

CC=arm-linux-androideabi-gcc-4.6 --prefix=$PWD/system

--host=arm-linux-androideabi --with-shared

CPPFLAGS=-I/home/klaus/tools/android-ndk-r9b/sysroot/usr/include

$

make && make install

note:

a、出現下圖錯誤

修改

b、出現下圖錯誤

執行:

$make

clean

$./configure

CC=arm-linux-androideabi-gcc-4.6 --prefix=$PWD/system

--host=arm-linux-androideabi --with-shared

CPPFLAGS=-I/home/klaus/tools/android-ndk-r9b/sysroot/usr/include

如果還有這個錯誤,重啟一下機器

3.4、交叉編譯htop2.0.1版本

klaus@server:~/tools/htop-2.0.1$

./autogen.sh

klaus@server:~/tools/htop-2.0.1$?./configure

--prefix=/home/klaus/tools/htop-2.0.1/system --host=arm

--bindir=/home/klaus/tools/htop-2.0.1/system/xbin

--with-sysroot=/home/klaus/tools/android-ndk-r9b/sysroot

CC=arm-linux-androideabi-gcc-4.6 CFLAGS="-I/home/klaus/tools/ncurses-6.0/system/include

-I/home/klaus/tools/ncurses-6.0/system/include/ncurses

-I/home/klaus/tools/android-ndk-r9b/sources/android/support/include"

LDFLAGS=-L/home/klaus/tools/ncurses-6.0/system/lib --disable-unicode

出現以下錯誤:

是由于configure文件在檢查libncurses庫時出現了問題,分析configure.ac文件發現如下:

在disable-unicode時,檢查libncurses6.so庫。此時我們查看以下我們交叉編譯之后的ncurses的install目錄是否有libncurses6.so文件

很顯然是沒有的,所以我們需要建立一個軟連接;

然后進入htop2.0.1,再次執行configure配置命令,然后編譯、安裝

如果編譯時出現以下錯誤:

此時按照下圖執行:

注釋掉HAVE_LINUX_AFFINITY即可編譯通過

至此,htop編譯成功,

3.4.1、將編譯好的文件拷貝到Android設備上去運行

使用adb通過usb進入Android設備的shell

將編譯好的ncurses和htop拷貝到system目錄下,由于Android的system目錄是只讀的,需要remount

我是在windows下開發的,從linux主機上拷貝到Android設備,需要借助window,而window對目錄是不區分大小寫的,所以需要對linux上的內容進行壓縮,然后在Android上解壓。

拷貝文件到Android

由于data目錄下有system目錄,為了不影響system,另外建立了一個目錄cmd_htop,用于解壓

拷貝htop應用程序及相關文件到/system

此時可以執行htop命令,但是會有錯誤:

需要執行環境變量如下:

執行htop命令,如下

以上紅色部分就是htop的執行效果,至此htop2.0.1移植到Android成功。

3.5、交叉編譯htop1.0.3版本

編譯和2.0.1的版本差不多,

klaus@server:~/tools/htop-1.0.3$

./configure --prefix=/home/klaus/tools/htop-1.0.3/system --host=arm

--bindir=/home/klaus/tools/htop-1.0.3/system/xbin

--with-sysroot=/home/klaus/tools/android-ndk-r9b/sysroot

CC=arm-linux-androideabi-gcc-4.6 CFLAGS="-I/home/klaus/tools/ncurses-6.0/system/include

-I/home/klaus/tools/ncurses-6.0/system/include/ncurses"

LDFLAGS=-L/home/klaus/tools/ncurses-6.0/system/lib --disable-unicode

如果編譯出現以下錯誤:

按照下面的執行:

增加#include

make編譯出現以下錯誤時:

執行以下操作:

注釋掉HAVE_NATIVE_AFFINITY,增加

#define

SYS_ioprio_get __NR_ioprio_get

#define

SYS_ioprio_set __NR_ioprio_set

然后再編譯

然后將壓縮安裝目錄system為system1.0.3.tar.gz

將system1.0.3.tar.gz拷貝到Android下

4、使用方法

詳細應用請man htop查閱。

選擇某一進程,按s:用strace追蹤進程的系統調用

P、T、M和top下是一樣的,按CPU,Time+、Memory使用排序。

下面有F1~F10的功能和對應的字母快捷鍵。

Shortcut

Key

Function

Key

Description

h

F1

Invoke htop

Help

S

F2

Htop Setup

Menu

/

F3

Search for a

Process

I

F4

Invert Sort

Order

t

F5

Tree View

>

F6

Sort by a

column

[

F7

Nice -

(change priority)

]

F8

Nice + (change

priority)

k

F9

Kill a

Process

q

F10

Quit htop

總結

以上是生活随笔為你收集整理的android 交叉编译so,Android交叉编译htop和使用方法的全部內容,希望文章能夠幫你解決所遇到的問題。

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