如何查看并且使用android系統(tǒng)本身包含的so庫?

項(xiàng)目上有個(gè)要求:能夠屏蔽底部導(dǎo)航欄!如下圖所示,很變態(tài)的需求是不是?淚奔中。。。。

image.png

因?yàn)楣臼亲鲇布?軟件配套的,用的是android定制版的系統(tǒng),有經(jīng)驗(yàn)的android開發(fā)工程師都知道,要實(shí)現(xiàn)這樣的一個(gè)功能,必須要修改底層,最后公司的android底層開發(fā)工程修改了底層,說直接使用系統(tǒng)本身的so庫,并且給我了一個(gè)文件:

public class PropOpt {

    public static native String getprop(String name);
    public static native int setprop(String name,String value);
    static{
        System.loadLibrary("propopt");
    }

}

從文件中看到,確實(shí)是使用so庫,調(diào)用so庫里面的方法,必須要知道so里面的包名,要不然也使用不了這個(gè)功能。

詳細(xì)步驟如下:

  • 使用cmd命名,進(jìn)入到android-sdk所在的盤符下
image.png
  • 使用adb shell命令查看adb shell命令是否正常
image.png

不正常的情況下,可能會(huì)出現(xiàn):
1、

image.png

這個(gè)應(yīng)該是adb被占用了,可以使用命令:
netstat -ano
查看哪個(gè)程序占用了5037端口,
image.png

接著輸入命令:
tasklist /fi "pid eq 0
干掉這個(gè)應(yīng)用程序就可以了

2、


image.png

我個(gè)人覺得最靠譜的方法是把重新插幾下USB線就好了(針對(duì)情況1和2都成立)

  • 使用adb root命令
image.png
  • 查看系統(tǒng)的so庫
image.png
  • 將所需要的so庫導(dǎo)出到本地
image.png
  • 用記事本打開找到對(duì)應(yīng)的包名
image.png
  • 在Android Studio 上引用對(duì)應(yīng)的so庫
image.png

ps:
adb 命名是adb工具本身的命令,而adb shell命令試android 中的命令

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容