當前位置:首頁 » 編程軟體 » linux編譯apk

linux編譯apk

發布時間: 2022-11-16 07:28:37

linux apktool怎麼使用

APKTool是GOOGLE提供的APK編譯工具,能夠反編譯及回編譯apk,同時安裝反編譯系統apk所需要的framework-res框架,清理上次反編譯文件夾等功能。需要java支持。

常見命令:‍

decode
該命令用於進行反編譯apk文件,一般用法為
apktool d <file.apk> <dir>
<file.apk>代表了要反編譯的apk文件的路徑,最好寫絕對路徑,比如C:\MusicPlayer.apk
<dir>代表了反編譯後的文件的存儲位置,比如C:\MusicPlayer
如果你給定的<dir>已經存在,那麼輸入完該命令後會提示你,並且無法執行,需要你重新修改命令加入-f指令
apktool d –f <file.apk> <dir>
這樣就會強行覆蓋已經存在的文件
build
該命令用於編譯修改好的文件,一般用法為
apktool b <dir>
這里的<dir>就是剛才你反編譯時輸入的<dir>(如C:\MusicPlayer),輸入這行命令後,如果一切正常,你會發現C:\MusicPlayer內多了2個文件夾build和dist,其中分別存儲著編譯過程中逐個編譯的文件以及最終打包的apk文件。
install
install-framework命令用於為APKTool安裝特定的framework-res.apk文件,以方便進行反編譯一些與ROM相互依賴的APK文件。

㈡ apk文件怎麼生成,

編譯一下程序就生成APK了,開發的程序安裝到手機里,我知道的有兩種方法,一種用SD卡把APK文件拷入手機,然後安裝。另一種是在Linux系統下用make方法編譯,然後把生成的IMG文件燒寫到手機里! 望採納

㈢ linux系統如何安裝apk文件

1、在linux中安裝virtualbox,然後安裝安卓系統,再安裝apk
2、嘗試安裝shashlink,這個是安卓的一個模擬庫,一般來說,支持x86的安卓的apk才可以運行,只支持arm的不能運行。

㈣ 自己可以編譯安卓源碼

用最新的Ubuntu 16.04,請首先確保自己已經安裝了Git.沒安裝的同學可以通過以下命令進行安裝:

sudo apt-get install git git config –global user.email 「[email protected]」 git config –global user.name 「test」

其中[email protected]為你自己的郵箱.

簡要說明

android源碼編譯的四個流程:1.源碼下載;2.構建編譯環境;3.編譯源碼;4運行.下文也將按照該流程講述.

源碼下載

由於某牆的原因,這里我們採用國內的鏡像源進行下載.
目前,可用的鏡像源一般是科大和清華的,具體使用差不多,這里我選擇清華大學鏡像進行說明.(參考:科大源,清華源)

repo工具下載及安裝

通過執行以下命令實現repo工具的下載和安裝

mkdir ~/binPATH=~/bin:$PATHcurl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repochmod a+x ~/bin/repo

補充說明
這里,我來簡單的介紹下repo工具,我們知道AOSP項目由不同的子項目組成,為了方便進行管理,Google採用Git對AOSP項目進行多倉庫管理.在聊repo工具之前,我先帶你來聊聊多倉庫項目:

我們有個非常龐大的項目Pre,該項目由很多個子項目R1,R2,...Rn等組成,為了方便管理和協同開發,我們為每個子項目創立自己的倉庫,整個項目的結構如下:


這里寫圖片描述

執行完該命令後,再使用make命令繼續編譯.某些情況下,當你執行jack-admin kill-server時可能提示你命令不存在,此時去你去out/host/linux-x86/bin/目錄下會發現不存在jack-admin文件.如果我是你,我就會重新repo sync下,然後從頭來過.

錯誤三:使用emulator時,虛擬機停在黑屏界面,點擊無任何響應.此時,可能是kerner內核問題,解決方法如下:
執行如下命令:

  • ./out/host/linux-x86/bin/emulator -partition-size 1024 -kernel ./prebuilts/qemu-kernel/arm/kernel-qemu-armv7

  • 通過使用kernel-qemu-armv7內核 解決模擬器等待黑屏問題.而-partition-size 1024 則是解決警告: system partion siez adjusted to match image file (163 MB >66 MB)

    如果你一開始編譯的版本是aosp_arm-eng,使用上述命令仍然不能解決等待黑屏問題時,不妨編譯aosp_arm64-eng試試.

    結束吧

    到現在為止,你已經了解了整個android編譯的流程.除此之外,我也簡單的說明android源碼的多倉庫管理機制.下面,不妨自己動手嘗試一下.

    ㈤ 如何在linux系統裡面編譯mupdf

    1.下載 MuPDF 1.2 Source:http://code.google.com/p/mupdf/downloads/detail?name=mupdf-1.2-source.zip&can=2&q=
    2.編譯准備和過程:參考http://www.mupdf.com/doc/how-to-build-mupdf-for-android
    3.把../platform/android工程導入Eclipse,運行,界面如下。<如在模擬器上運行apk,最好先把一個pdf文件導入>
    上面的工程源碼CSDN資源下載:http://download.csdn.net/detail/hhbgk/5711295

    ㈥ linux系統如何安裝apk文件

    APK是AndroidPackage的縮寫,即Android安裝包(apk)。

    APK是類似SymbianSis或Sisx的文件格式。通過將APK文件直接傳到Android模擬器或Android手機中執行即可安裝。apk文件和sis一樣,把androidsdk編譯的工程打包成一個安裝程序文件,格式為apk。

    APK文件其實是zip格式,但後綴名被修改為apk,通過UnZip解壓後,可以看到Dex文件,Dex是DalvikVMexecutes的簡稱,即AndroidDalvik執行程序,並非JavaME的位元組碼而是Dalvik位元組碼。Android在運行一個程序時首先需要UnZip,然後類似Symbian那樣直接,和WindowsMobile中的PE文件有區別。

    格式定義

    在Android平台中dalvik vm的執行文件被打包為apk格式,最終運行時載入器會解壓然後獲取編譯後的androidmanifest.xml文件中的permission分支相關的安全訪問,但仍然存在很多安全限制,如果你將apk文件傳到/system/app文件夾下會發現執行是不受限制的。安裝的文件可能不是這個文件夾,而在androidrom中,系統的apk文件默認會放入這個文件夾,它們擁有著root許可權。

    文件結構

    1. META-INF (註:Jar文件中常可以看到);

    2. res (註:存放資源文件的目錄) ;

    3. AndroidManifest.xml (註:程序全局配置文件) ;

    4. classes.dex (註:Dalvik位元組碼);

    5. resources.arsc (註:編譯後的二進制資源文件)。

    如果一定要安裝在linux有二種方法:

    1. 在linux下先安裝虛擬機;

    2. 在linux下安裝模擬器;

    然後在虛擬機或模擬器中安裝該apk文件

    ㈦ linux 反編譯下的apk報毒怎麼處理

    2、反編譯過程
    1)反編譯出資源文件
    使用apktool工具,進入apktool所在的目錄下,使用如下的命令:
    ./apktool d ./xxx.apk(apk所在的路徑)

    d表示decode,在當前目錄下就會生成一個名為xxx的目錄,裡面就是反編譯出來的各種資源文件,其中res表示資源文件,smali表示源代碼,不過是位元組碼,不能直接查看。
    以本人的實驗為例子,如下圖所示:

    此時會在當前目錄下生成一個目錄app-debug。

    2)源代碼的反編譯
    a)因為apk文件其實是使用zip進行打包壓縮生成的文件,所以先把xxx.apk文件改名為xxx.zip文件,並對其進行解壓。
    b)進入解壓後的目錄,其中有一個classes.dex文件,這個文件就是java文件編譯再通過dx工具打包而成的,源代碼就包含在這個文件中。
    c)把前一步生成的文件classes.dex復制到dex2jar工具的根目錄中,並使用如下命令對其進行反編譯:
    ./dex2jar.sh d classes.dex
    就會在當前目錄下生成一個classes_dex2jar.jar文件

    d)點擊打開jdgui工具,這是一個圖形化的工具,然後打開上上述的classes_dex2jar.jar文件就可以看到apk對應的源代碼。
    對於本人的實驗如下:

    ㈧ apk反編譯和重新打包

    操作系統:Mac OS X
    軟體:apktool

    進入官網 https://ibotpeaches.github.io/Apktool/ ,點擊官網首頁的install( https://ibotpeaches.github.io/Apktool/install/ )進入安裝指南,裡面有Windows,Linux和Mac的安裝方法,不同的操作系統按不同的步驟來就可以了。

    在終端輸入: apktool d xxx.apk ,我在反編譯時出現了以下錯誤:

    看提示是無法寫入到這個目錄 /Users/xxx/Library/apktool/framework (xxx為電腦用戶名),那就在 /Users/xxx/Library 下新建apktool文件夾,並在apktool文件夾下再新建個framework文件夾,然後為了保險起見設置新建文件夾到許可權,在終端輸入: chmod -R 777 /Users/xxx/Library/apktool
    接著再重新執行反編譯命令就可以成功了,在xxx.apk相同目錄下會出現反編譯後的文件夾。

    在終端輸入編譯命令: apktool b xxx (xxx為剛才反編譯的文件夾),成功後會在xxx文件夾下的dist文件夾下生成打包好後的apk文件

    現在打包好後的apk是沒有簽名的,所以無法安裝,現在給apk簽名

    20000為時間,這個設置長點就好了,-keystore後面是簽名文件保存路徑。輸入命令按回車鍵會讓輸入密碼等信息,按提示輸入,不要忘了密碼,簽名時要用。
    2.接著在終端輸入:

    -keystore後面的為簽名文件的路徑,-signedjar後面為簽名好後apk的存放路徑,在這個後面的一個為需要簽名的pak的路徑,最後的android.keystore為證書的別名,如果不知道別名,可以在終端輸入: keytool -list -v -keystore /Users/xxx/Desktop/android.keystore 查看具體信息,裡面有別名。
    這一步還要注意,簽名文件和需要簽名的apk要在同一目錄下。

    ㈨ android 怎麼把apk放進系統

    們的apk,很難卸載。
    注意:編譯在linux 下
    1.可以通過重新編譯android 源碼,但好像比較麻煩,我就懶的去理了,也沒試過,那位試
    過可以給我講下步驟。
    2.可以通過unyaffs 來修改system.img 文件
    system.img 在\\android-sdk\platforms\android-x\images 下,
    unyaffs 用法:解包:
    unyaffs imgage file name output directory打包
    sudochmod -R 777 * 許可權
    mkyaffs2image dir image_file
    通過unyaffs 解壓system.img 後可以看到有app,lib 等目錄,這是我們就可以把我們需要
    的apk 放進app 里,有時候app 需要其它庫,就放在lib 里。
    然後mkyaffs2image 打包,燒進機子里就可以了,也可以啟動一個虛擬機試一下,當然是在
    這個編譯後的系統的虛擬機,這是你發現你的apk 就是系統自帶的了,一般情況下刪不了。

    ㈩ 如何在Linux平台下編譯android工程

    我是在windows下做開發的,但是編譯環境還是在linux上。。大體的步驟如下:
    1.首先在windows環境下編寫工程(eclipse下編寫android工程)
    2.打開linux開發環境(tcl平台:\\10.120.90.207\longc\workspace\code\project\kernel\android\JB)
    3.將運行環境的腳本文件運行./evnsetup:配置android運行環境
    /JB/build/
    找到envsetup.sh
    運行.envsetup.sh(source envsetup.h或./envsetup)
    所有操作都在終端完成
    4.將工程文件拷貝到指定目錄下(TCL平台下的自帶程序在package\TCL_Apps目錄下)
    5.刪除一些文件
    保留/res,/src,AndroidManifest.xml三個文件
    創建Android.mk(makefile文件,linux下用makefile文件來集成一些命令,運行程序的指令和設置都在此處)Android.mk的編寫
    6.編譯
    進入工程文件目錄
    輸入mm命令進行編譯。
    7.生成apk文件,編譯完成

    熱點內容
    ip查伺服器商家 發布:2025-05-14 00:33:37 瀏覽:211
    雲伺服器布 發布:2025-05-14 00:27:55 瀏覽:78
    吃雞最佳配置怎麼看 發布:2025-05-14 00:25:32 瀏覽:226
    oraclesql效率 發布:2025-05-14 00:17:40 瀏覽:601
    cifjava代碼 發布:2025-05-14 00:10:34 瀏覽:212
    泰國電視劇密碼在哪裡看 發布:2025-05-13 23:54:22 瀏覽:481
    安卓用郵件下完保存在哪裡 發布:2025-05-13 23:52:31 瀏覽:479
    解壓美食蛋糕 發布:2025-05-13 23:36:25 瀏覽:354
    php含有字元 發布:2025-05-13 23:32:08 瀏覽:184
    如何找出蘋果手機已連接wifi密碼 發布:2025-05-13 23:22:52 瀏覽:264