android包作用
㈠ android 的apk包有什麼組成
1.APK文件簡介
APK是AndroidPackage的縮寫,即即Androidapplicationpackage文件或Android安裝包。每個要安裝到Android平台的應用都要被編譯打包為一個單獨的文件,後綴名為.apk。APK文件是用專業軟體eclipse編譯生成的文件包,其中包含了應用的二進制代碼、資源、配置文件等。通過將APK文件直接傳到Android手機中執行即可安裝。APK文件其實就是zip格式,但其擴展名被改為apk,用解壓軟體可以直接打開。通過WinRAR或UnZip解壓後,你會看到有幾個文件和文件夾。一個典型的APK文件通常有下列內容組成:AndroidManifest.xml程序全局配置文件classes.dexDalvik位元組碼
resources.arsc
編譯後的二進制資源文件
META-INF\該目錄下存放的是簽名信息res\
該目錄存放資源文件
assets\該目錄可以存放一些配置文件
下面對這些文件和目錄做些基本的注釋和介紹。•AndroidManifest.xml
該文件是每個應用程序都必須定義和包含的文件,它描述了應用程序的名字、版本、許可權、引用的庫文件等等信息。需要解包後才能加以閱讀。
•classes.dex文件
classes.dex是java源碼編譯後生成的java位元組碼文件。dex是DalvikVMexecutes的全稱,即AndroidDalvik執行程序,並非JavaME的位元組碼而是Dalvik位元組碼。•resources.arsc
編譯後的二進制資源文件。•META-INF目錄
META-INF目錄下存放的是簽名信息,用來保證apk包的完整性和系統的安全。在eclipse編譯生成一個apk包時,會對所有要打包的文件做一個校驗計算,並把計算結果放在META-INF目錄下。這就保證了apk包里的文件不能被隨意替換。比如拿到一個apk包後,如果想要替換裡面的一幅圖片,一段代碼,或一段版權信息,想直接解壓縮、替換再重新打包,基本是不可能的。如此一來就給病毒感染
和惡意修改增加了難度,有助於保護系統的安全。•res目錄
res目錄存放資源文件。包括圖片,字元串等等。解包後,幾乎所有可能的修改和編輯工作基本都在這里。•assets目錄
assets目錄可以存放一些配置文件,這些文件的內容在程序運行過程中可以通過相關的API獲得。
2.APK文件的解包和打包
APK文件是用專業軟體eclipse編譯生成的文件包。在網上可以找到許多軟體來對APK的內容進行反編譯,例如:可以通過AXMLPrinter2工具和命令:java-jarAXMLPrinter2.jarAndroidManifest.xml解開在apk中的AndroidManifest.xml。最近,業界有一個功能強大的解包打包工具包apktool,可以在Windows下用來方便快速地對APK文件進行解包和打包,給修改和編輯工作帶來許多方便。下面來介紹它的使用。
1)APKtool軟體包
APKtool軟體包有2個程序組成:apktool.jar和aapt.exe另外提供一個批處理文件:apktool.bat,其內容為:java-jar"%~dp0\apktool.jar"%1%2%3%4%5%6%7%8%9
運行apktools.jar需要java環境(1.6.0版本以上)。apktool.jar用於解包,apktool.jar和aapt.exe聯合用於打包。2)APK文件的解包
下面以解開Contacts.apk為例。首先把Contacts.apk復制到當前工作目錄下(例:Test)。在DOS下打入命令apktooldContacts.apkABC
這里「d」表示要解碼。Contacts.apk是要解包的APK文件。ABC是子目錄名。所有解包的文件都會放在這個子目錄內。3)APK文件的打包在DOS下打入命令
apktoolbABCNew-Contacts.apk這里「b」表示要打包
ABC是子目錄名,是解包時產生的子目錄,用來存放所有解包後的和修改後的文件。
New-Contacts.apk是打包後產生的新的APK文件。4)Framework框架文件
在解開APK文件時,apktool需要框架文件(framework-res.apk)來解碼和打包。Apktool已經包含了標準的框架,所以在大多數APK文件的解包時,不需要另外提供框架文件。但是,某些製造商使用了他們自己的框架文件,為了解包,就不得不從手機中把框架文件(framework-res.apk)提取出來,然後安裝到計算機。安裝命令是:
apktoolifframework-res.apk
安裝後就會得到:~\apktool\framework\1.apk5)解包、解包和簽名批處理
在實際使用時,可能對多個APK文件進行處理。方便的做法是寫成批處理文件。打包和簽名可以一次完成。
解包批處理命令:
for%%iin(*.apk)dojava-jarapktool.jard%%i_%%i&&move_%%iModifying_Files&©%%iBackuped_Raw_Files&&@echoFile[%%i]unpackingprocessiscompleted!
打包和簽名批處理命令:
for/d%%iin(*)docd..&&java-jarapktool.jarbModifying_Files\%%i&&
java
-jar
signapk.jar
testkey.x509.pem
testkey.pk8
Modifying_Files\%%i\dist\*.apk%%i&&ren%%iNew%%i&&moveNew%%iModified_Signed_Files&&@echo%%iCompleterepackingandSigning
㈡ Android包和Java包是什麼關系
包(package)是Java提供的一種區別類的名字空間的機制,是類的組織方式,是一組相關類和介面的集合,它提供了訪問許可權和命名的管理機制。Android里也是一樣是一種區別Android程序類的名字空間的機制,是類的組織方式,是一組相關類和介面的集合。
㈢ 一個android應用程序中為什麼要有好幾個包感謝您能指教
在java開發中,包是一個重要的程序結構化工具。例如,你身上為什麼要有這么多包,如錢包、卡包、電腦背包等,是因為這些包的功能不同,你要用錢就到錢包中取、要用卡就打開卡包。你總不可能把所有的東東都放在一個包中,要用時到處亂翻吧。
㈣ android package是指什麼
android package是指以apk作為擴展名的.apk安裝包。
android package和Java中的package的作用是一樣的
產生package這個概念的原因是管理和使用類和介面,以及避免名字沖突、控制訪問等
包是一種鬆散的類的集合通常會把需要放在一起工作的類放在一個包裡面
㈤ android sdk什麼作用
SDK叫做軟體開發工具包。
軟體開發工具包(外語首字母縮寫:SDK、外語全稱:Software Development Kit)一般都是一些軟體工程師為特定的軟體包、軟體框架、硬體平台、操作系統等建立應用軟體時的開發工具的集合。
軟體開發工具包括廣義上指輔助開發某一類軟體的相關文檔、範例和工具的集合。
軟體開發工具包是一些被軟體工程師用於為特定的軟體包、軟體框架、硬體平台、操作系統等創建應用軟體的開發工具的集合,一般而言SDK即開發 Windows 平台下的應用程序所使用的 SDK。它可以簡單的為某個程序設計語言提供應用程序介面 API 的一些文件,但也可能包括能與某種嵌入式系統通訊的復雜的硬體。一般的工具包括用於調試和其他用途的實用工具。SDK 還經常包括示例代碼、支持性的技術註解或者其他的為基本參考資料澄清疑點的支持文檔。
為了鼓勵開發者使用其系統或者語言,許多 SDK 是免費提供的。軟體工程師通常從目標系統開發者那裡獲得軟體開發包,也可以直接從互聯網下載,有時也被作為營銷手段。例如,營銷公司會免費提供構件SDK 以鼓勵人們使用它,從而會吸引更多人由於能免費為其編程而購買其構件。
SDK 可能附帶了使其不能在不兼容的許可證下開發軟體的許可證。例如產品供應商提供一個專有的 SDK 可能與自由軟體開發抵觸。GPL 能使 SDK 與專有軟體開發近乎不兼容。LGPL 下的 SDK 則沒有這個問題。
㈥ 今天android面試遇到這樣一個問答題 求解 一個apk文件有哪幾部分 各個部分的作用是什麼
APK
是Android Package的縮寫,即Android application package文件或Android安裝包。每個要安裝到Android平台的應用都要被編譯打包為一個單獨的文件,擴展名為 .apk。
APK
文件是用專業軟體eclipse編譯生成的文件包,其中包含了應用的二進制代碼、資源、配置文件等。通過將APK文件直接傳到Android手機中執行即可安裝。APK文件其實就是zip格式,其擴展名被改為apk,在Windows下用解壓軟體WinRAR/WinZIP/7-Zip可以直接打開。解壓後,你會看到有幾個文件和文件夾。一個典型的APK文件通常有下列內容組成:
AndroidManifest.xml 程序全局配置文件
classes.dex Dalvik位元組碼
resources.arsc 編譯後的二進制資源文件
META-INF\ 該目錄下存放的是簽名信息
res\ 該目錄存放資源文件
assets\ 該目錄可以存放一些配置文件
下面對這些文件和目錄做些基本的注釋和介紹:
• AndroidManifest.xml
該文件是每個apk應用程序都必須包含的文件,它描述了應用程序的名字、版本、許可權、引用的庫文件等等信息。
• classes.dex文件
classes.dex是java源碼編譯後生成的java位元組碼文件。dex是Dalvik VM executes的全稱即
Android Dalvik執行程序。利用解析工具可以將其轉換成java來加以閱讀和理解。
• resources.arsc
編譯後的二進制資源文件。在做主題美化時要常與這個文件打交
道。
• META-INF目錄
META-INF目錄下存放的是簽名信息,有三個簽名文件,用來保證apk包的完整性和系統的全。在eclipse編譯生成一個apk包時,會對所要打包的文件做一個校驗計算,並把計算結果放在META-INF目錄下。這就保證了apk包里的文件不能被隨意替換。比如拿到一個apk包後,如果想要替換裡面的一幅圖片,一段代碼,或一段版權信息,想直接解壓縮、替換再重新打包,基本是不可能的。如此一來就給感染和惡意修改增加了難度,有助於保護系統的安全。
•res目錄
res目錄存放資源文件。包括圖片,字元串等等。
res下有若干個子目錄,主要為drawable,layout,xml。
• assets目錄
assets目錄可以存放一些配置文件,這些文件的內容在程序運行過程中可以通過相關的API獲得。
㈦ 在android開發中sdk各個文件夾有什麼作用
add-ones:裡面保存著一些附加的庫,也就是第三方公司為Android平台開發的附加功能系統。(一開始此包為空)
build-tools:構建項目時用到的工具。當創建Android項目的時候會用到這個包。在創建項目的時候如果沒有此包會報錯。這里還包括一些編譯工具,總之這個包不能少。
extras:該文件下存放了Google提供的USB驅動,Intel提供的硬體加速附件工具包。
platform-tools:該文件夾下放了Android平台的相關工具比如adb.exe、sqlite3.exe等。
platforms:這個文件夾是SDK裡面最重要的文件,這個裡面可以有許多不同版本的SDK。有時候我們在導入項目的時候發現導入後沒有SDK,就是因為這裡面沒有我們導入項目編譯時的SDK,我們需要在這里加入SDK或者在項目的根目錄下的project.properties裡面將target改為platforms裡面有的版本重新編譯即可。這裡面有SDK不同的版本,每個版本下面又有許多文件組成。還有就是如果你再布局中如果編寫沒有錯誤,但是視圖預覽不了,可能是由於你SDK選擇的版本有問題。
sources:這個文件夾下面存放的是Android的源代碼。
system-images:存放的時創建Android虛擬機時的鏡像文件。
tools:這個文件夾下存放了大量Android開發、調試的工具。
㈧ 安卓的游戲數據包有什麼作用,還有個主程序,這兩者的關系是什麼啊講下,謝謝、
您好,目前大型的游戲一般都是帶有數據包的,這也是為了節省玩家的手機內存而設計的。玩家只需要安裝主程序進手機,把數據包放到指定目錄,主程序就可以讀取數據包里的資源文件。這種優化了APK主程序,這樣玩家並不需要安裝龐大的APK而要等待漫長的時間,也為照顧了小運存的手機。數據包里大部分都是游戲所需要調用的圖形,影片,模型等文件,都是資源文件為主。
對於數據包游戲的下載與安裝,建議您使用當樂游戲中心,當樂游戲中心不僅擁有海量的游戲,而且對於數據包游戲可以一鍵安裝,不需要您進行其他多餘的操作即可進行游戲,下載地址為:http://app.d.cn/
感謝您對於當樂網的支持,當樂網(http://a.d.cn)有您更精彩,祝您游戲愉快。有更多其他問題請點擊「求助官方客服」
㈨ Android App打包是怎麼回事
Android App打包指的是將APP源碼壓縮成一個apk包的過程,具體步驟如下。
工具:eclipse
在eclipse中,工程上「右鍵」->導出。
讓選擇需要打包的工程,直接「Next」,到keystone頁面
根據自己的情況填寫,點擊「Next」,生成keystore,到下一頁面:
選擇APK文件生成的位置,點擊Finish,完成,把apk文件安裝到手機上運行看是否正常運行。至此,全部結束!
㈩ 手機上的文件夾「android」是什麼意思
一、安卓手機的Android文件夾裡面的文件夾是用來放程序數據的。
二、android
手機文件夾代表的意思:
1.
/system/app
這里是android手機rom中的系統應用存放地,如果有Root許可權可以將手機rom中自帶的應用刪除掉,這裡面一般包含一個apk文件和odex文件,大家注意文件名一一對應,如何刪除可以參考
如何刪除Android系統自帶軟體
中方法。
2.
/data/data
這里是每個安裝過應用的用戶文件存儲位置,一般為設置文件、資料庫或臨時緩存文件,進入後以每個軟體的package
name包名來命名。
3.
/dev
這里是Linux系統常規文件夾,裡面的文件很多都是設備模擬的文件系統,一般用戶無需理會。
4./system/fonts
這裡面保存著系統的字體,如果你有root許可權,可以往裡添加自己喜歡的字體,比如雅黑。
5.
/system/framework
這里是android系統的框架,裡面保存著系統核心程序或java類庫,十分重要裡面的任何文件幾乎都不要做刪除操作。
6.
/media/audio
這裡面保存著安卓系統默認的鈴聲,alarms是鬧鈴提醒的,notification是簡訊或提示音,ringtones是來電鈴聲,而ui是一些界面音效,比如鍵盤敲擊聲。
7.
/system/lib
裡面保存的是系統底層類庫,裡面很多都是框架層的實現文件,一般以.so後綴結尾類似windows下的dll文件
.
SD卡中
1.
/mnt/sdcard或者/sdcard這是Android手機中SD卡的文件夾路徑,其中/mnt/sdcard/是android
2.2或更高版本所使用的,而/sdcard是android
2.1或早期版本的存儲卡位置。
2.
/mnt/sdcard/dcim或/sdcard/dcim這個DCIM文件夾是干什麼用的,這里android123提示大家,一般數碼相機都有DCIM文件夾,其中進入後Camera為手機攝像頭拍攝的照片或視頻存放位置。同時在DCIM文件夾中還有.thumbnails這個目錄,在Linux中開頭為「.」的文件夾就是開頭為「點」的文件夾是隱藏目錄,這裡面記錄著手機SD卡圖片的縮略圖。
3.
/mnt/sdcard/LOST.DIR或/sdcard/LOST.DIR這個LOST.DIR為SD卡掃描時發現的丟失文件,裡面的文件用處不大,可以不用理會。