如何將兩個APK合併成一個APK
方法一,Eclipse開發環境中整合:
1. 工程原來是兩個APK,InnerAPK和OuterAPK,裡面都只有一個Activity,分別為InnerActivity和OuterActivity。
2. 在InnerAPK工程上選擇右鍵,選擇Properties->Android,勾選Is Library,然後選擇Apply,點選OK關閉對話方塊即可。
3. 第(2)其實將InnerAPK作為一個Library工程了,我們需要在OuteAPK中引用這個工程,同樣在OuterAPK上點選右鍵,選擇Properties->Android,選擇Add,然後選擇InnerAPK。
4. 之後可以在你需要使用的地方直接import InnerAPK的包名即可,比如import com.example.innerAPK.InnerActivity。
5. 將在InnerActivity中的AndroidManifest.xml檔案中的內容移動到OuterActivity的AndroidManifest.xml檔案中,此例子只有InnerActivity而已:
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".OuterActivity"
android:label="@string/title_activity_outer" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- add from innerAPK -->
<activity
android:name="com.example.innerapk.InnerActivity"
android:label="@string/title_activity_inner" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
這樣只需要安裝一個APK,OuterAPK就可以使用Inner和outer兩個activity,且在OuterActivity中可以直接引用InnerActivity的code。
方法二:在Android原始碼包上mmm命令編譯
1. 首先將InnerAPK和OuterAPK兩包程式碼都複製到packages/apps目錄下
2. 在OuterAPK目錄下新建Android.mk檔案,內容如下
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_SRC_FILES += $(call all-java-files-under, ../InnerAPK/src)
LOCAL_RESOURCE_DIR += $(LOCAL_PATH)/res packages/apps/InnerAPK/res
LOCAL_AAPT_FLAGS := --auto-add-overlay --extra-packages com.example.innerapk
LOCAL_PACKAGE_NAME := OuterAPK
include $(BUILD_PACKAGE)
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_SRC_FILES += $(call all-java-files-under, ../InnerAPK/src)
LOCAL_RESOURCE_DIR += $(LOCAL_PATH)/res packages/apps/InnerAPK/res
LOCAL_AAPT_FLAGS := --auto-add-overlay --extra-packages com.example.innerapk
LOCAL_PACKAGE_NAME := OuterAPK
include $(BUILD_PACKAGE)
3. 然後跟方法一的第(5)步一樣,將AndroidManifest.xml檔案中的內容從一個Inner轉移到Outer當中。
4. 然後採用mmm命令編譯生成apk。
相關文章
- android apk巢狀 從一個apk啟動另外一個apkAndroidAPK巢狀
- 兩個有序陣列如何合併成一個有序陣列陣列
- 將兩個有序陣列合併為一個有序陣列陣列
- 如何把多個pdf合併成一個pdf文件?
- 如何合併兩個TensorFlow模型模型
- js如何合併兩個陣列JS陣列
- 一個section加密的apk的分析加密APK
- 多個 EXCEL 檔案如何合併成一個檔案Excel
- 使用SQL語句將資料庫中的兩個表合併成一張表SQL資料庫
- 多個excel檔案合併成一個excel表的方法 如何快速合併多個excel檔案Excel
- 通過Guava實現兩個包含不同物件的List合併成一個ListGuava物件
- Android Apk反編譯系列教程(一)如何反編譯APKAndroidAPK編譯
- 如何在linux 中合併兩個檔案為一個檔案pasteLinuxAST
- 合併兩個有序陣列陣列
- 如何在 Mac 上將 JPG影像合併為一個PDFMac
- 編寫一個函式,實現兩個整型陣列的合併(將兩個整型陣列a和b合併成一個從小到大有序排列的整形陣列c,並在主函式中測試)。函式陣列
- IPTV系統一個後臺可以有多個apk介面嗎?APK
- 某當網apk加固脫個soAPK
- iStylePDF把多個PDF合併成一個PDF檔案
- 使用 flatMap() 將巢狀的列表合併成一個新的列表巢狀
- python技巧 合併兩個字典Python
- 88、合併兩個有序陣列陣列
- Mysql將近兩個月的記錄合併為一行顯示MySql
- Git 如何合併某一個 commitGitMIT
- 兩個影片怎麼合成一個影片?合併影片的方法分享
- 如何在Node.js中合併兩個複雜物件Node.js物件
- 88. 合併兩個有序陣列陣列
- 360如何加固安卓apk安卓APK
- apkTool---一個簡單好用的apk反編譯工具APK編譯
- PhalApi-APK–APK檔案解包處理APIAPK
- 兩個歷史表的資料合併
- mysql中的多行查詢結果合併成一個MySql
- appium 能打包成 apk,啟動這個 apk 就能調起待測 app 自動化麼APPAPK
- 雙頻路由器2.4G和5G兩個WiFi訊號合併成一個的方法教程路由器WiFi
- 不同apk間共享資料的兩種方法APK
- 怎麼將一段音訊批量的新增到多個視訊當中合併成一個完整視訊音訊
- 刷題系列 - 合併兩個順序佇列為一個新的佇列佇列
- python實現將資料夾內所有txt檔案合併成一個檔案Python