當前位置:首頁 » 安卓系統 » 安卓共享庫有什麼用

安卓共享庫有什麼用

發布時間: 2022-08-06 00:16:30

① 手機中沒有該應用所需的共享庫怎麼辦

你好,
一方面是你的手機空間不夠了,才會導致安裝不上。
另一方面推薦你換一款軟體安裝,比如應用寶,豌豆莢,91助手這些平台都可以下載的。用應用寶更方便些,裡面的應用都是專業檢測過的,用著放心,而且下載好就直接安裝到你的手機里了。另外還能清理手機,釋放空間。這樣你的問題應該就能解決了。如果幫到你,請採納哦

② 關於android NDK開發中application.mk文件的疑惑

介紹:
Android SDK是一個允許Android應用開發人員使用C或C++源文件編譯並嵌入到本機源代碼中的應用程序包的一組工具。
重要說明:
Android NDK只能用於android 1.5以上版本
1.Android NDK的目的:
Android虛擬機允許你的應用程序源代碼通過JNI調用在本地實現的源代碼,簡單的說,這就意味著:
你的應用程序將聲明一個或多個用』native』關鍵字的方法用來指明它們是通過本地代碼實現的
例如:native byte[] loadFile(String filePath)
你必須提供包含實現這些方法的共享庫(就是.so),將共享庫打包到你的應用程序包apk中,這些庫文件必須根據標準的Unix約定來命名為 lib<something>.so,並且是需要包含一個標準的JNI的介面,例如
libFileLoader.so
你的應用程序必須明確的裝載這些庫文件(.so文件),比如,在程序的開始裝載它,只需要簡單的添加幾句源代碼:
java代碼:
static {
System.loadLibrary(「FileLoader」);
}
注意:這里你不必再將前綴lib和後綴.so寫入。
Android NDK對於Android SDK只是個組件,它可以幫你:
生成的JNI兼容的共享庫可以在大於Android1.5平台的ARM CPU上運行
將生成的共享庫拷貝到合適的程序工程路徑的位置上,以保證它們自動的添加到你的apk包中(並且簽名的)
在以後的版本中,我們將提供來幫助你的源代碼通過遠程gdb連接和盡可能多的源代碼的信息。
而且,Android NDK還提供:
一組交叉編譯鏈(編譯器、鏈接器等)來生成可以在linux,OS X和Windows(用Cygwin)運行的二進制文件
一組與由Android平台提供的穩定的本地API列表的頭文件
它們在docs/STABLE-APIS.html中有說明
重要提示:
記住,在以後的更新和發布平台中,Android系統鏡像中的大多數本地系統庫並不是一成不變的,而是可以徹底改變,甚至刪除的
一個編譯系統(build system)可以允許開發者寫一個非常短的編譯文件(build files)去描述哪個源代碼需要編譯,並且怎樣編譯。編譯系統可以解決所有的toolchain/platform/CPU/ABI細節的問題。並且,較晚的NDK版本中還添加了更多的可以不用改變開發者的編譯文件的情況下的toolchains,platforms,系統介面。
2.Android NDK的缺點
NDK並不是一個可以編寫通用的源代碼並且可以在Android設備上運行的方法,你的應用程序還是需要使用JAVA程序,適當的處理系統事件來避免「應用程序沒有反應」的對話框或者處理Android應用程序的生命周期
注意:可以適當的在源代碼中寫一個復雜的應用程序,用於啟動/停止一個小型的「應用程序包」
強烈建議很好地理解的 JNI,因為許多操作在這種環境要求的開發人員,都採取具體的行動,不一定在常典型的本機代碼。這些措施包括:
不能通過指針直接訪問VM的對象。比如:你不能安全的得到一個指向String對象的16位char數組的循環遍歷
需要顯示引用管理本機代碼時候要保持處理JNI調用之間的VM對象
NDK在Android平台僅僅提供了有限的本地API和庫文件的支持的系統頭文件,然而一個標準的Android系統鏡像包括許多本地共享庫,這些都應該被考慮在更新和發行版本的可以徹底改變的實現細節
如果Android系統庫沒有明確的被NDK明確的支持,然後應用程序不應該依賴於它提供的,或者打破了將來在各種設備上的無線系統更新
選定的系統庫將逐漸被添加到穩定的NDK API中。
3.NDK開發實踐
下面將給出一個怎樣用Android NDK開發本地代碼的粗略的概述
(1) 把本地代碼放在$PROJECT/jni/…下,比如將hello.c放到apps/hello/jni/目錄下
(2) 在你的NDK編譯系統中在$PROJECT/jni/Android.mk來描述你的源代碼
(3) 可選:在$PROJECT/jni/Application.mk到你的編譯系統中來詳細描述你的項目,盡管你開始的話不一定需要它,但是它允許你使用更多的CPU或者覆蓋編譯器/鏈接器的標記
(4) 從你的項目的目錄開始通過運行」$NDK/ndk-build」來編譯你的代碼,或者從子目錄開始
(5) 最後一步可以,萬一成功,剝離共享庫的應用層序需要你的應用程序的項目根目錄。然後你通過通常的方法來生成最終的apk。

安卓系統雲空間里家人共享自定義是什麼意思

意思是開啟雲空間共享後,家人將共享用戶的存儲空間。
家庭雲是中國電信為家庭用戶推出的,家庭共用的互聯網雲存儲空間產品;家庭雲可以將手機、電腦上的照片、視頻匯聚在一起,實現手機上傳照片、視頻,家人打開電視就能看到。

④ android中java靜態庫和java共享庫有什麼區別

程序編制一般需經編輯、編譯、鏈接、載入和運行幾個步驟。在我們的應用中,有一些公共代碼是需要反復使用,就把這些代碼編譯為「庫」文件;在鏈接步驟中,連接器將從庫文件取得所需的代碼,復制到生成的可執行文件中。這種庫稱為靜態庫,其特點是可執行文件中包含了庫代碼的一份完整拷貝;缺點就是被多次使用就會有多份冗餘拷貝。

為了克服這個缺點可以採用動態鏈接庫。這個時候鏈接器僅僅是在可執行文件中打上標志,說明需要使用哪些動態連接庫;當運行程序時,載入器根據這些標志把所需的動態鏈接庫載入到內存。

另外在當前的編程環境中,一般都提供方法讓程序在運行的時候把某個特定的動態連接庫載入並運行,也可以將其卸載(例如Win32的LoadLibrary()&FreeLibrary()和Posix的dlopen()&dlclose())。這個功能被廣泛地用於在程序運行時刻更新某些功能模塊或者是程序外觀。

與普通程序不同的是,Java程序(class文件)並不是本地的可執行程序。當運行Java程序時,首先運行JVM(Java虛擬機),然後再把Java class載入到JVM里頭運行,負責載入Java class的這部分就叫做Class Loader。通常class文件僅在需要使用時才載入。 這本身就是一種動態鏈接。
Java作為一種天生的動態鏈接語言,無法支持靜態鏈接。但C語言的靜態庫除了靜態鏈接的概念外,還隱含了一層意思,即庫中的代碼會打包到可執行文件中。JAVA中的JAR某種程度上類似一個可執行文件或庫,借用C語言中靜態庫和動態庫的概念,這里把最終會合並到生成的JAR文件中的JAR包叫靜態庫,反之僅僅在編譯中使用,並不打包到生成的JAR包中,運行時需系統自行提供的JAR包叫動態庫。
C的靜態鏈接只把需要的代碼復制過來,而Java用類似Fat Jar的方法,把所有的依賴庫打包到最後的庫中,眉毛鬍子一把抓。這個問題可以用ProGuard解決,用它自己的話說是 It detects and removes unused classes, fields, methods, and attributes。

Eclipse中對JAR包的使用方式有兩種,library和user libraries,其中library在工程中通過add jars...或add external jars...添加,出現在Referenced Libraries中,而user libraries需要在工作空間中管理,再在工程中通過add library...添加。這兩種使用方式本身並沒有靜態庫和動態庫的區別,需要在打包或部署時再行指定。但user libraries的方式明顯更方便管理多個工程共同使用的多個庫,而系統庫往往都有這種特性。
android的apk比JAR更類似可執行程序,而且因為標准庫隱藏了很多功能,我們常常需要使用自己構建的系統庫來編譯。但android的ADT工具並沒有提供是否將library或user libraries打包的選項。根據我的經驗,ADT默認將library打包到apk中,而user libraries則僅用於編譯,運行時再請求系統載入相關類。哪位同學有更明確的信息,還望指教,我短期內恐怕不會有時間去研究這個問題。
因此,可以這么說,在android中,library用來添加靜態庫,而user libraries用來管理動態庫。千萬不能弄錯了,如果把靜態庫錯誤地加入動態庫,運行時會出現找不到對應的class的錯誤,但因為Java語言的動態鏈接機制,只有運行到庫中代碼時才會出錯;反之,如果把動態庫做成了靜態庫,問題就更隱蔽了,可能只是dex文件特別大,而沒有其它問題,也可能因載入了錯誤版本的系統代碼,出現一些稀奇古怪的問題。慎之,慎之...
附:向eclispe中添加user Libraries的步驟:
1。點擊eclipse的window菜單,選擇「Preference」
2。在preferences窗口中選擇java->User Libraries,然後點擊窗口右邊的New...按鈕,在彈出的子窗口中輸入user library的名稱,此時在user libraries窗口中會出現新加的library名稱。
3。向該user library中添加jar包。選中my_lib,然後點擊Add JARS...按鈕,選擇你要添加的jar後,點擊「打開」按鈕,則my_lib庫中就會出現你剛添加的jar文件信息。
4。最後點擊窗口下的「OK」按鈕,完成user library的添加和其jar的添加。

⑤ 什麼是靜態鏈接庫什麼是動態鏈接庫他們有什麼區別

  1. 靜態庫可以認為是一些目標代碼的集合。按照習慣,一般以".a"做為文件後綴名。使用ar(archiver)命令可以創建靜態庫。因為共享庫有著更大的優勢,靜態庫已經不被經常使用。但靜態庫使用簡單,仍有使用的餘地,並會一直存在。
    靜態庫在應用程序生成時,可以不必再編譯,節省再編譯時間。但在編譯器越來越快的今天,這一點似乎已不重要。如果其他開發人員要使用你的代碼,而你又不想給其源碼,提供靜態庫是一種選擇。從理論上講,應用程序使用了靜態庫,要比使用動態載入庫速度快1-5%,但由於莫名的原因,實際上可能並非如此。由此看來,除了使用方便外,靜態庫可能並非一種好的選擇。

  2. 共享庫
    共享庫是在程序啟動時被裝載。當一個應用程序裝載了一個共享庫後,其它應用程序仍可以裝載同一個共享庫。基於linux的使用方法,共享庫還有其它靈活的而又精妙的特性:
    更新庫並不影響應用程序使用舊的,非向後兼容的版本;在執行特定程序時,可以覆蓋整個庫或更新庫中的特定函數;以上操作不會影響已經運行的程序,他們仍會使用已經裝載的庫。

⑥ Android中靜態庫和共享庫的區別

簡單來講:
靜態庫是在連接階段直接拷貝到代碼中使用的,而共享庫是由載入器載入到內存,在運行時使用的。
編譯出來的靜態庫(這里指jar包)里每個java文件對應的class文件都單獨存在,可以直接導入Eclipse等IDE使用
而編譯出來的共享庫(jar包),內部是Android位元組碼Dex格式的文件,一般無法導入Eclipse等IDE使用。Android.mk中由BUILD_JAVA_LIBRARY指定生成共享BUILD_STATIC_JAVA_LIBRARY指定生成靜態庫。

⑦ 安裝安卓軟體時提醒說沒有該應用所需的共享庫是怎麼回事

共享庫不存在或失效,是因為你所升級的軟體與你手機的系統不兼容,必須裝回以前那個版本,比如說你的軟體升級到1.1版本出現了共享庫不存在或失效,無法安裝,你只要裝回1.0版本的那個軟體就可以了。

⑧ Android SO什麼意思

您好,您可能指的是Android OS。
Android OS其實就是安卓操作系統的名字。Android是一種基於Linux的自由及開放源代碼的操作系統,主要使用於移動設備,如智能手機和平板電腦,由Google公司和開放手機聯盟領導及開發。尚未有統一中文名稱,中國大陸地區較多人使用「安卓」或「安致」。Android操作系統最初由Andy Rubin開發,主要支持手機。2005年8月由Google收購注資。2007年11月,Google與84家硬體製造商、軟體開發商及電信營運商組建開放手機聯盟共同研發改良Android系統。隨後Google以Apache開源許可證的授權方式,發布了Android的源代碼。第一部Android智能手機發布於2008年10月。Android逐漸擴展到平板電腦及其他領域上,如電視、數碼相機、游戲機等。2011年第一季度,Android在全球的市場份額首次超過塞班系統,躍居全球第一。 2013年的第四季度,Android平台手機的全球市場份額已經達到78.1%。2013年09月24日谷歌開發的操作系統Android在迎來了5歲生日,全世界採用這款系統的設備數量已經達到10億台。

如果您確定您問的是Android SO的話,下面給出解釋。
Android SO是Android編程中用到的so類型的文件,是一個c++的函數庫,在android的JNI中,是先將相應的C語言打包成so庫導入到lib文件夾中調用的。
參考:網路。

⑨ android shared base是什麼應用

安卓共享應用庫 其漢語含義是:「(手機)安卓共享平台(庫)」。
就是安卓共享平台。 Android共享庫 是安卓的分享資料應用。

⑩ 什麼是共享庫,安裝軟體的時候說沒有應用程序所需的共享庫,是什麼意思啊。HTC G13。

android底層也是linux系統,估計是這些軟體用到的一些系統文件沒有。如果一定要安裝,可能需要先安裝相應的庫文件。或者也可能是沒有某些硬體,導致缺少相應的庫。如果是這種情況,這個軟體就不能在你的手機上用了。例如它們可能要用到加速度感測器,而你的手機沒有。

熱點內容
四川伺服器託管雲空間雲主機 發布:2024-05-02 11:04:28 瀏覽:962
手機app重編譯 發布:2024-05-02 11:01:40 瀏覽:537
怎麼給訂制系統平板安裝安卓系統 發布:2024-05-02 10:29:59 瀏覽:260
雲伺服器做網站伺服器用什麼系統 發布:2024-05-02 10:20:26 瀏覽:896
python經典程序實例 發布:2024-05-02 09:42:07 瀏覽:260
酷豐c10出廠密碼多少 發布:2024-05-02 09:23:33 瀏覽:376
開發安卓游戲需要會什麼 發布:2024-05-02 09:04:22 瀏覽:977
無線網密碼忘了手機怎麼改 發布:2024-05-02 08:57:24 瀏覽:527
iis上傳文件許可權設置 發布:2024-05-02 08:56:39 瀏覽:232
ipad文件加密 發布:2024-05-02 08:20:30 瀏覽:443