【Android】System分區應用自帶庫與原生庫同名問題分析

System分區應用自帶庫與原生庫同名問題分析

問題背景

某系統應用發生必現崩潰問題。崩潰log如下

0*-** **:**:**.** 66666 66666 E ***** aar error:: java.lang.UnsatisfiedLinkError: dlopen failed: cannot 
locate symbol "_TTT_TTT_TTT" 
referenced by "/system/app/LINDUO/lib/arm64/liblinduo.so"... 
0*-** **:**:**.** 66666 66666 E offline_da aar error:: at java.lang.Runtime.loadLibrary0(Runtime.java) 
  • 根據Log提示,動態庫依賴時找不到_TTT_TTT_TTT這個符號。檢索liblinduo.so依賴的動態庫。發現,_TTT_TTT_TTT這個符號,在應用自帶的libA.so這個庫中。
nm -D linA.so | grep _TTT_TTT_TTT
  • 檢查進程對應的map文件,/proc/66666/maps,發現加載了系統中的libA.so(/system/lib64/libA.so)。

相關知識點

動態庫加載優先級

  1. 應用私有目錄
  2. 自定義注入路徑
  3. 系統目錄
  • Android 7.0+強制/system分區的應用使用AOSP原生庫,即使應用自帶同名庫也會被忽略。可以理解為,Aosp的原生庫比如libA.so是Aosp自身依賴的。如果系統應用自帶了libA.so,那么system分區的應用,就會忽略這個庫。因為,不能讓應用自帶的庫把系統的原生庫替換了。

解決System分區應用自帶庫與原生庫同名問題

  1. 把應用挪到/vendor分區,或者作為后裝應用(可以的話),利用Android命名空間機制隔離(參考Asop官網原生庫的命名空間)
    在這里插入圖片描述
  2. 重命名應用自帶的動態庫,把動態庫改成其他名字。
  3. 使用和系統版本統一的動態庫。
  4. 應用使用靜態庫,靜態依賴。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/82819.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/82819.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/82819.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

計算機網絡中的單播、組播與廣播

文章目錄 前言一、單播(Unicast)1.1 定義與工作原理1.2 優點1.3 缺點1.4 典型應用場景 二、廣播(Broadcast)2.1 定義與工作原理2.2 優點2.3 缺點2.4 典型應用場景 三、組播(Multicast)3.1 定義與工作原理3.…

ASP.NET MVC添加新控制器示例

ASP.NET MVC高效構建Web應用- 商品搜索 - 京東 控制器(Controllers)是一個協調視圖和模型直接關系的特殊類。它響應用戶輸入,與模型進行對話,并決定呈現哪個視圖(如果有的話)。在ASP.NET MVC中&#xff0c…

Escrcpy(安卓手機投屏軟件) v1.29.6 中文綠色版

在數字設備日益普及的今天,用戶對于設備的控制和管理需求也在不斷增加。對于Android設備用戶來說,Escrcpy這款強大的工具無疑是一個福音。它不僅提供了直觀的圖形化界面,讓用戶能夠輕松顯示和控制自己的Android設備,還以完全免費開…

Python爬蟲實戰:研究Goose框架相關技術

一、引言 隨著互聯網的迅速發展,網絡上的信息量呈爆炸式增長。從海量的網頁中提取有價值的信息成為一項重要的技術。網絡爬蟲作為一種自動獲取網頁內容的程序,在信息收集、數據挖掘、搜索引擎等領域有著廣泛的應用。本文將詳細介紹如何使用 Python 的 Goose 框架構建一個完整…

【Linux 學習計劃】-- 馮諾依曼體系 | 操作系統的概念與定位,以及其如何管理軟件

目錄 馮諾依曼體系結構 操作系統是干什么的? 理解操作系統中的管理 對OS(操作系統)宏觀、整體的分析 總結 結語 馮諾依曼體系結構 首先我們來看這樣一張圖,這就是大名鼎鼎的馮諾依曼體系 在日常生活中,所有的計…

新消息!阿里云ACP大模型認證有變化!

阿里云ACP認證是阿里云認證中的高級工程師,ACP認證方向有云計算、大數據、人工智能、大模型等多個,大家都知道,阿里云ACP考試題量共100題,其中70道單選題30道多選題,每題一分,滿分100分,80分合格…

MySQL 數據遷移Postgresql(openGuass) 之 pg_chameleon

1 pg_chameleon 介紹 pgchameleon 是一款MySQL 到 PostgreSQL/openGuass 的復制工具。 pg_chameleon 使用場景: 1)分析 2)遷移 3)對多個MySQL 數據庫進行數據聚合 操作系統信息 (myenv) rootu24-pg-60:~# cat /etc/issue Ubuntu …

Spark 中,map和foreach的區別

在 Spark 中,map和foreach是兩種不同用途的轉換操作,主要區別在于: 1. 操作類型與返回值 map:是轉換操作(Transformation),返回一個新的 RDD。foreach:是行動操作(Acti…

More SQL(Focus Subqueries、Join)

目錄 Subqueries Subqueries That Return One Tuple Subqueries and Self Connection The IN Operator The Exists Operator The Operator ANY The Operator ALL Union, Intersection, and Difference(交并差) Bag Semantics Controlling Dupl…

OpenGL Chan視頻學習-4 Vertex Buffers and Drawing a Triangle in OpenGL

一、視頻鏈接 【最好的OpenGL教程之一】https://www.bilibili.com/video/BV1MJ411u7Bc?p5&vd_source44b77bde056381262ee55e448b9b1973 二、相關網站 docs.gl 三、代碼整理 c #include <GL/glew.h> #include <GLFW/glfw3.h>#include<iostream>int…

WSL中ubuntu通過Windows帶代理訪問github

WSL中ubuntu通過Windows帶代理訪問github 前言: WSL是Windows下的ubuntu訪問工具&#xff0c;目前無法訪問外網&#xff0c;因此需要配置一下。 步驟一 代理中進行如下設置: 步驟二 ubuntu22.04中修改配置 使用如下命令獲取IP地址&#xff1a; ip route | grep default | aw…

為(FramePack)的視頻生成添加首尾幀功能

文章目錄 &#xff08;一&#xff09;前言&#xff08;二&#xff09;可選的尾幀&#xff08;三&#xff09;測試&#xff08;四&#xff09;例子 &#xff08;一&#xff09;前言 前提是這個&#xff1a;《筆記本6GB本地可跑的圖生視頻項目&#xff08;FramePack&#xff09;…

C語言中:遞歸問題的深入研究

C語言中&#xff1a;遞歸問題的深入研究 函數的遞歸有兩個限制條件&#xff1a; 1.遞歸存在限制條件&#xff0c;當滿?這個限制條件的時候&#xff0c;遞歸便不再繼續。 2.每次遞歸調?之后越來越接近這個限制條件。 例子&#xff1a; #include <stdio.h> int main…

《C++20新特性全解析:模塊、協程與概念(Concepts)》

引言&#xff1a;C20——現代C的里程碑 C20是繼C11之后最具革命性的版本&#xff0c;它通過模塊&#xff08;Modules&#xff09;、協程&#xff08;Coroutines&#xff09;和概念&#xff08;Concepts&#xff09;三大核心特性&#xff0c;徹底改變了C的代碼組織方式、并發模…

xcode卡死問題,無論打開什么程序xcode總是在轉菊花,重啟電腦,卸載重裝都不行

很可能是因為我們上次沒有正常關閉Xcode&#xff0c;而Xcode保留了上次錯誤的一些記錄&#xff0c;而這次打開Xcode依然去加載錯誤的記錄&#xff0c;所以必須完全刪除這些記錄Xcode才能加載正常的項目。 那么也就是說&#xff0c;我們是不是只需要刪除這部分錯誤記錄文件就可以…

華為云Flexus+DeepSeek征文|華為云Flexus云服務器X實例上部署Dify:打造高效的開源大語言模型應用開發平臺

目錄 前言 1 Dify與華為云部署概述 1.1 什么是 Dify 1.2 華為云與 Flexus 云服務器的優勢 2 云服務器部署 Dify 的步驟詳解 2.1 模板選擇 2.2 參數配置 2.3 資源棧設置 2.4 確認部署信息并執行 3 部署成功后的操作與平臺使用指南 3.1 訪問平臺 3.2 設置管理員賬號 …

物流項目第九期(MongoDB的應用之作業范圍)

本項目專欄&#xff1a; 物流項目_Auc23的博客-CSDN博客 建議先看這期&#xff1a; MongoDB入門之Java的使用-CSDN博客 需求分析 在項目中&#xff0c;會有兩個作業范圍&#xff0c;分別是機構作業范圍和快遞員作業范圍&#xff0c;這兩個作業范圍的邏輯是一致的&#xf…

網絡拓撲如何跨網段訪問

最近領導讓研究下跟甲方合同里的&#xff0c;跨網段訪問怎么實現&#xff0c;之前不都是運維網工干的活么&#xff0c;看來裁員裁到動脈上了碰到用人的時候找不到人了&#xff0c; 只能趕鴨子上架讓我來搞 IP 網絡中&#xff0c;不同網段之間的通信需要通過路由器&#xff0c;…

【前端】PWA

目錄 概述實戰vue項目問題匯總 PWA&#xff08;漸進式 Web 應用&#xff0c;Progressive Web App&#xff09; 2015提出 概述 PWA 是一種提升 Web 應用體驗的技術&#xff0c;使其具備與原生應用相似的功能和性能。PWA不僅能夠在網頁上運行&#xff0c;還能在手機或桌面上像傳…

湖北理元理律師事務所:從法律合規到心靈契合的服務升維

債務優化不僅是數字游戲&#xff0c;更是信任重建的過程。湖北理元理律師事務所在實踐中發現&#xff1a;68%的債務糾紛中存在溝通斷裂。為此&#xff0c;機構構建了“三維信任修復機制”。 維度一&#xff1a;信息透明的技術實現 區塊鏈存證艙&#xff1a;客戶手機實時查看律…