當前位置:首頁 » 編程軟體 » 安卓怎麼編譯apk

安卓怎麼編譯apk

發布時間: 2022-07-13 12:03:06

安卓手機怎麼打開apk文件

安卓手機打開APK文件方法如下:

1、找到你手機上下載好的apk文件,單擊文件。

4、這個APK文件就可以打開了 。

(1)安卓怎麼編譯apk擴展閱讀:

關於apk

apk文件和sis一樣,把androidsdk編譯的工程打包成一個安裝程序文件,格式為apk。

(1)、格式定義

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

(2)文件結構

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

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

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

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

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

(3)開發環境

Android是一個基於java的開發環境,它是一種與廣被接受的 Java極為類似,而且也比C++容易得多的開發語言,這是一種規范的移動開發環境。Google也在API文檔的書寫和樣例的提供上做了很出色的工作。

(4)獲取SDK

下載並安裝android的SDK[軟體開發套件],這套SDK主要包括有核心庫文件,一個模擬器,開發工具和一些示範的樣例文件。推薦使用Eclipse 和androideclipse 擴展。

如果只是使用android,Eclipse IDE就已經足夠了,但如果是第一次開發Java應用,建議下載完整的Java SE 開發工具 (JDK) 因為它包括簽發應用程序所需要的工具。

(5)應用架構

android應用架構很關鍵,如果不學習它,設計出來的游戲將是一種很難修復bug的產品。 需要了解應用程序、活動、Intents以及它們是如何互相聯系交互的,Google在這兒提供了良好的信息架構。

真正重要的是,要理解為什麼在設計的游戲中,需要不止一個的活動進程,以及如何設計一個用戶體驗良好的游戲。這些都應當配合到應用的生命周期中。

參考鏈接:網路-apk

⑵ 反編譯Android APK的具體步驟是怎樣的

1、配置好JAVA環境變數,下載:apktool 解壓的文件放在C盤根目錄的apktool文件夾里(apktool文件夾自己創立)
2打開命令提示符,(開始-運行-輸入cmd)
3輸入:cd \apktool 系統指令到了apktool文件夾(這里就是為什麼要把解壓的apktool解壓的文件放到apktool文件夾的原因,當然你也可以自命名文件夾的名稱,那麼比如arc,那麼指令就變成了:cd \arc 前提是你必須把apktool解壓的文件放到這個文件夾裡面)
4使用RE管理器把系統裡面的framework-res.apk 與 SystemUI.apk 提取出來放在apktool文件夾裡面

5 如果只是想反編譯framework-res.apk

輸入apktool if framework-res.apk(框架的建立)
6開始最重要的反編譯,輸入指令,apktool d framework-res.apk

(反編輯的APK一定要用沒換過圖片的,否則回編輯失敗)
7最後反編譯完成

修改代碼完成後,輸入代碼:apktool d framework-res 即可完成回編譯
8回編譯後的新的 apk在framework/dis 文件夾裡面
9如果反編譯的是系統文件,比如,SystemUI.apk 那麼必須進行掛載框架,反編譯時,必須敲入一下命令:(然後再重復7-9步驟)
apktool if framework-res.apk
apktool if SystemUI.apk

10對於三星手機(比如9100、9108/9100G),如果反編譯SystemUI.apk要敲入一下命令進行框架掛載apktool if framework-res.apk
apktool if twframework-res.apk
apktool if SystemUI.apk
11回編譯的命令是 apktool b XXX (沒有後面的apk後綴)反編譯的命令是 apktool d xxx (有後面的apk)

⑶ 安卓apk文件如何反編譯

安卓apk文件反編譯:
一、反編譯xml文件
1>
首先下載我給你們提供的文件夾apk_fanbianyi,把它放到某個盤的根目錄下(為了方便輸入dos命令),然後打開apktool文件夾,安裝win+r鍵,然後輸入cmd,進入dos命令行,大家別怕,不用暈,很簡單的。
2>
然後在dos命令中首先輸入文件夾所在盤符+「:」回車,接著再輸入cd+apktool所在目錄,切換dos工作空間到apktool文件夾下。
3>
接著輸入
apktool.bat
d
【需反編譯apk文件路徑】
{【反編譯文件反編譯後的路徑】},其中最後一部分可以省去,系統會默認把apk文件反編譯到apktool目錄下,例如輸入
apktool.bat
d
d:/apk_fanbianyi/ttkp.apk,在apktool文件夾下就會生成一個ttpk的文件夾,所有的xml文件全部反編譯成功。
二、反編譯java文件
1>
首先解壓需要反編譯的apk文件,拷貝出裡面的classes.dex文件到dex2jar文件夾(為了方便操作,省去dos命令輸入路徑的麻煩)
2>
把工作空間切換到dex2jar文件夾下,輸入命令cd
d:/apk_fanbianyi/dex2jar回車
3>
輸入命令dex2jar.bat
classes.dex回車,發現dex2jar文件夾下多了一個classes_dex2jar.jar文件,這是反編譯成功的java文件
三、xml文件的打開
1>
打開apktool文件夾下的ttkp文件夾,任意找到一個xml文件,選中單擊右鍵,選擇notepad++打開(需下載),如果沒有此軟體,可以選擇打開方式,選擇記事本打開
四、java文件的打開
1>
dex2jar文件夾下的classes_dex2jar.jar拷貝到apktool文件夾的ttkp文件夾中,不能用notepad++打開,不然會亂碼的
2>
啟動apk_fanbianyi文件夾下的jd-gui.exe,然後點左上角file,選擇open
file,找到classes_dex2jar.jar文件,可以發現有很多包,選擇包下的任意一個java文件,打開不亂碼了,是不是很神奇,哈哈,你學會了安卓apk文件反編譯

⑷ Android的apkplug插件開發具體怎麼編譯生成插件 apk 文件

步驟1:注冊ApkPlug官網賬號:

打開Apkplug官網後,點擊右上角的「注冊」,在跳轉頁面填入相關信息,注冊界面如下:

確認後注冊成功,使用你的賬號登錄網站。你就可以用Apkplug開發應用了
END
步驟2:開發插件

Apkplug中的插件也是一個完整的apk,它與普通應用的區別有以下3點:
1, 插件assets目錄下有一個plugin.xml文檔,通過它可判斷一個工程是主應用還是插件。
2, 插件有一個入口類BundleActivator
3, 插件會外部引用一個osgi.jar文件
開發插件的步驟有如下4步:
1,引入osgi.jar庫文件
Apkplug中插件需要導入的庫文件只有一個osgi.jar。
導入osgi.jar庫文件需要注意一下
osgi.jar文件只能引用不能編譯到apk文件中,否則會出現類沖突的情況
異常代碼:had used a different Lorg/osgi/framework/BundleActivator; ring pre-verification。
osgi.jar包導入方法:

這文件在Apkplug SDK中可以找到。

2,編寫插件入口類BundleActivator
插件啟動時首先調用BundleActivator,其功能類似android中的application類。

public class SimpleBundle implements BundleActivator
{
private BundleContext mcontext = null;
public void start(BundleContext context) throws Exception
{
System.err.println("你好我是插件,我將為你展示啟動acitivty我已經啟動了 我的BundleId為:"+context.getBundle().getBundleId());
}
public void stop(BundleContext context)
{
System.err.println("你好我是插件,我被停止了 我的BundleId為:"+context.getBundle().getBundleId());

}

}
3,編寫plugin.xml配置文件
plugin.xml
是一個配置表,它跟AndroidManifest.xml作用類似。 plugin.xml文檔放置在assets中即可 重要屬性說明:
Bundle-Name 插件名稱 Bundle-SymbolicName 插件包名
-與應用packagename可一一對應 Bundle-Version 插件版本 -1.0.0
Bundle-Activator 插件入口 -與Appliction 類似
Bundle-Activity 插件界面 -多個Activity可用 , 分割
Bundle-Service 插件Service -多個Service可用 , 分割
(v2.0.0新增) Bundle-Receiver 插件廣播 -多個廣播類可用 , 分割
(v2.0.0新增)
4, 編譯生成插件apk文件
插件工程中添加的文件目錄結構如下:

最後編譯運行插件工程,生成的apk文件即為插件文件
END
步驟3:開發主應用

Apkplug 主應用開發分兩步集成:
1. 獲取主應用授權AppAuth。
登錄賬號進入Apkplug後台後,切換到「應用授權頁面」,按要求填寫好應用信息,然後確定,你就擁有了一個等待開發的應用授權AppAuth。應用授權界面如下:

進入「授權列表」頁面,點擊「查看詳情」鏈接,進入「應用詳情界面」,就可以看到已申請的AppAuth,點擊其後面的「復制」,即可直接復制AppAuth,如下圖所示

2. 對接Apkplug SDK 導入相關庫文件。
①配置應用許可權
主應用需要幾個基礎的許可權配置,請將以下的幾個許可權加入到主應用的AndroidManifest.xml中。
<!-- 插件平台需要的許可權! -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE">
</uses-permission>

另外將一下加入到<application></application>節點中
<!-- 插件平台需要的配置! -->
<activity
android:name="org.apkplug.app.apkplugActivity"
android:theme="@style/android:Theme.Light"
android:configChanges="orientation|keyboardHidden"
/>
最後將我們從Apkplug管理後台申請到的AppAuth加入到配置文件中。

<meta-data android:name="apkplug-auth" android:value="xxxxxxxx" ></meta-data>
註:由於3.2.2節中我們直接復制了AppAuth,此處直接粘貼到AndroidManifest文檔中。
如下圖:

②導入SDK庫文件
主應用需要導入兩個文件,將其放入libs目錄中即可。
1, libndkfoo.so
2, Bundle2.0.0.jar
如下圖:

這兩個庫文件在Apkplug SDK中可以找到。
然後:
主應用啟動Apkplug最簡只需要一段代碼即可,建議在Application中啟動框架。

FrameworkInstance frame=FrameworkFactory.getInstance().start(List<BundleActivator>,Context);
將上一步驟開發好的插件apk,放置在主應用工程里的assets路徑下。
如下圖:

END
步驟4:啟動主應用

最後啟動主應用即可。簡單的插件化apk的方法就講完了,有興趣的關注我,下次講雲端託管插件實現應用內更新。

⑸ 如何在eclipse中把Android工程編譯為apk安裝文件

1、生成keystore

按照下面的命令行在C:ProgramFilesJavajdk1.6.0_10in>目錄下,輸入

keytool -genkey -alias android.keystore -keyalg RSA -validity100000

-keystore android.keystore

參數意義:-validity主要是證書的有效期,寫100000天;空格,退格鍵都算密碼。

命令執行後會在C:ProgramFilesJavajdk1.6.0_10in>目錄下生成android.keystore文件 。如圖-1

"Destination APK file "指定APK存儲的位置。單擊"Finish"按鈕,打包完成。

進入"D:My Document",會看到生成的HelloWorld.apk以及sharpandroid證書庫。


⑹ apk軟體是用什麼語言編寫和編譯的如何開發滴

apk
APK是AndroidPackage的縮寫,即Android安裝包(anapk)。APK是類似Symbian
Sis或Sisx的文件格式。通過將APK文件直接傳到Android模擬器或Android手機中執行即可安裝。
apk文件和sis一樣最終把android
sdk編譯的工程打包成一個安裝程序文件格式為apk。
APK文件其實是zip格式,但後綴名被修改為apk,通過UnZip解壓後,可以看到Dex文件,Dex是Dalvik
VM
executes的全稱,即Android
Dalvik執行程序,並非Java
ME的位元組碼而是Dalvik位元組碼。一個APK文件結構為:
META-INF
Jar文件中常可以看到
res
存放資源文件的目錄
AndroidManifest.xml
程序全局配置文件
classes.dex
Dalvik位元組碼
resources.arsc
編譯後的二進制資源文件總結下我們發現Android在運行一個程序時首先需要UnZip,然後類似Symbian那樣直接,和Windows
Mobile中的PE文件有區別,這樣做對於程序的保密性和可靠性不是很高,通過dexmp命令可以反編譯,但這樣做符合發展規律,微軟的
Windows
Gadgets或者說WPF也採用了這種構架方式。在Android平台中dalvik
vm的執行文件被打包為apk格式,最終運行時載入器會解壓然後獲取編譯後的androidmanifest.xml文件中的permission分支相關的安全訪問,但仍然存在很多安全限制,如果你將apk文件傳到/system/app文件夾下會發現執行是不受限制的。最終我們平時安裝的文件可能不是這個文件夾,而在android
rom中系統的apk文件默認會放入這個文件夾,它們擁有著root許可權。

⑺ 自己可以編譯安卓源碼

用最新的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源碼的多倉庫管理機制.下面,不妨自己動手嘗試一下.

    ⑻ android 工程 如何一鍵編譯打包成apk

    打包步驟:

    1、生成keystore

    按照下面的命令行在C:ProgramFilesJavajdk1.6.0_10in>目錄下,輸入keytool-genkey-aliasandroid.keystore-keyalgRSA-validity100000-keystoreandroid.keystore

    參數意義:-validity主要是證書的有效期,寫100000天;空格,退格鍵都算密碼。

    命令執行後會在C:ProgramFilesJavajdk1.6.0_10in>目錄下生成android.keystore文件。如圖-1

    圖-2EclipseAndroid打包工具

    接下來的步驟就是不斷的next。下面僅貼出圖片,不解釋。

    step2:選擇打包的項目

    step3:選擇生成的EclipseAndroid.keystore文件並輸入密碼

    step4:選擇aliaskey並輸入密碼

    step5:最後選擇生成androidapk文件的目錄及文件名

    最終生成的apk文件。

    熱點內容
    scratch少兒編程課程 發布:2025-04-16 17:11:44 瀏覽:627
    榮耀x10從哪裡設置密碼 發布:2025-04-16 17:11:43 瀏覽:356
    java從入門到精通視頻 發布:2025-04-16 17:11:43 瀏覽:73
    php微信介面教程 發布:2025-04-16 17:07:30 瀏覽:297
    android實現陰影 發布:2025-04-16 16:50:08 瀏覽:787
    粉筆直播課緩存 發布:2025-04-16 16:31:21 瀏覽:337
    機頂盒都有什麼配置 發布:2025-04-16 16:24:37 瀏覽:202
    編寫手游反編譯都需要學習什麼 發布:2025-04-16 16:19:36 瀏覽:800
    proteus編譯文件位置 發布:2025-04-16 16:18:44 瀏覽:356
    土壓縮的本質 發布:2025-04-16 16:13:21 瀏覽:582