當前位置:首頁 » 安卓系統 » android代碼打包

android代碼打包

發布時間: 2023-02-20 00:22:22

㈠ android 項目如何打包成jar 使用

第一步,把普通的android project設置成庫項目

庫項目也是一個標準的android項目,因此你先創建一個普通的android項目。 這個項目可以起任何的名稱,任何的報名,設置其他需要設置的欄位等,如圖1所示。
接著把項目設置成庫項目,步驟如下
在Package Explorer中, 滑鼠右鍵項目文件夾,點擊 Properties.
在Properties 窗口, 選擇"Android" ,Library屬性顯示在右下邊.
把"is Library" 單選框選擇上,再點擊 Apply.(比如http://www.tiecou.com/)
點擊 OK 關閉Properties 窗口.
這時,這個項目就變成庫項目了。
當然,java項目也可以讓其變成一個庫項目,非常簡單,執行上面的四步。其他程序項目就可以引用庫項目了。

圖 1.使一個項目為庫項目
創建manifest文件
一個庫項目的manifest文件也和標準的android應用程序一樣,聲明所有共享的組件。
比如APIDemo中的TicTacToeLib 這個例子,庫項目聲明了Activity GameActivity:
<manifest>
...
<application>
...
<activity android:name="GameActivity" />
...
</application>
</manifest>

第二步 引用庫項目

如果你開發的應用程序想要包括庫項目中的代碼和資源,非常簡單,引用步驟如下
在Package Explorer中, 滑鼠右鍵項目文件夾,點擊 Properties.
在Properties 窗口, 選擇"Android" ,Library屬性顯示在右下邊.
點擊Add ,打開了Project Selection對話框.
從可用庫項目列表選擇一個項目,然後點擊 OK.
對話框關閉之後點擊 Apply (在Properties窗口).
點擊 OK 關閉Properties 窗口.
完成以上六步,Eclipse 會重建項目,把庫項目中的內容包含進去。 如圖2所示

圖 2.讓項目引用一個庫項目
如果你想增加多個庫項目的引用,使用up和down可以設置他們的相對的優先順序和合並順序。工具在合並引用的庫的時候順序是從低優先順序(列表的下面)到高優先順序(列表的上面)。 如果不只一個庫定義了相同的資源ID,這個工具選擇資源時會選擇高優先順序的資源。應用程序自身擁有最高的優先順序,自身的資源zThe application itself has highest priority and its resources are always used in preference to identical resource IDs defined in libraries.

在menifest文件中聲明庫中的組件
在manifest文件中必須增加對在當前程序中用到的庫項目中的所有的組件。比如,你必須聲明任何用到的 <activity>, <service>, <receiver>, <provider>等,<permission>, <uses-library>,和其他類似的元素。
聲明庫項目中的組件時,必須使用包含包名的類全名。
在TicTacToeMain例子中,聲明庫Activity GameActivity :
<manifest>
...
<application>
...
<activity android:name="com.example.android.tictactoe.library.GameActivity" />
...
</application>
</manifest>

㈡ 如何運行打包的android源代碼文件

android源碼目錄下的build/envsetup.sh文件,描述編譯的命令
-
m:
makes
from
the
top
of
the
tree.
-
mm:
builds
all
of
the
moles
in
the
current
directory.
-
mmm:
builds
all
of
the
moles
in
the
supplied
directories.
要想使用這些命令,首先需要在android源碼根目錄執行.
build/envsetup.sh
腳本設置環境
m:編譯所有的模塊
mm:編譯當前目錄下的模塊,當前目錄下要有android.mk文件
mmm:編譯指定路徑下的模塊,指定路徑下要有android.mk文件
下面舉個例子說明,假設我要編譯android下的\hardware\libhardware_legacy\power模塊,當前目錄為源碼根目錄,方法如下:
1、.
build/envsetup.sh
2、mmm
hardware/libhardware_legacy/power/
編譯完後
運行
make
snod
會重新將你改過的模塊打入到system.img中

㈢ Android編譯打包的過程

本文所有內容都是通過網文加自己的實踐得出的結論,沒有找到官方參考書目,因此若有錯誤之處,歡迎指出。

(Android Asset Packaging Tool)編譯和打包資源的工具

其中.class為位元組碼的形式,用Intellj可以直接反編譯打開,看到其中的內容,發現相比於.java文件,已經做了一定的優化

apk文件分析
```

! ( https://upload-images.jianshu.io/upload_images/15623627-f005f457fce3005a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240 )
res中的xml文件也被編譯成了二進制,名字也發生了改變(混淆),但其中的png內容都是可以直接打開的。
! ( https://upload-images.jianshu.io/upload_images/15623627-2caf2a33ed808efb.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240 )

熱點內容
php取數組第一個 發布:2025-05-16 11:30:58 瀏覽:423
解調演算法 發布:2025-05-16 11:21:09 瀏覽:136
python密碼暴力破解 發布:2025-05-16 11:13:28 瀏覽:592
倒角刀編程 發布:2025-05-16 11:12:55 瀏覽:350
資料庫的酸性 發布:2025-05-16 11:03:17 瀏覽:124
phpmysql長連接 發布:2025-05-16 10:51:50 瀏覽:734
android橫屏全屏 發布:2025-05-16 10:47:43 瀏覽:475
伺服器直鏈下載搭建 發布:2025-05-16 10:47:38 瀏覽:176
編譯不成功怎麼辦 發布:2025-05-16 10:35:54 瀏覽:613
如何修改密碼找回 發布:2025-05-16 10:35:53 瀏覽:571