如何將兩個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。
相關文章
- 兩個有序陣列如何合併成一個有序陣列陣列
- 圖片合併成PDF,兩個PDF的合併
- 一個section加密的apk的分析加密APK
- 多個commit合併成一個MIT
- 將兩個有序陣列合併為一個有序陣列陣列
- 如何合併兩個TensorFlow模型模型
- 如何把多個pdf合併成一個pdf文件?
- 多個 EXCEL 檔案如何合併成一個檔案Excel
- Android Apk反編譯系列教程(一)如何反編譯APKAndroidAPK編譯
- 使用SQL語句將資料庫中的兩個表合併成一張表SQL資料庫
- 多個excel檔案合併成一個excel表的方法 如何快速合併多個excel檔案Excel
- 某當網apk加固脫個soAPK
- 通過Guava實現兩個包含不同物件的List合併成一個ListGuava物件
- IPTV系統一個後臺可以有多個apk介面嗎?APK
- Cordova 打包 apk,html 打包 apkAPKHTML
- 使用 flatMap() 將巢狀的列表合併成一個新的列表巢狀
- 編寫一個函式,實現兩個整型陣列的合併(將兩個整型陣列a和b合併成一個從小到大有序排列的整形陣列c,並在主函式中測試)。函式陣列
- rsscombine:將多個RSS源合併為一個源
- python技巧 合併兩個字典Python
- 合併兩個有序陣列陣列
- 如何在 Mac 上將 JPG影像合併為一個PDFMac
- Git 如何合併某一個 commitGitMIT
- PhoneGap Hybrid APP 開發實戰(1):第一個 Android APKAPPAndroidAPK
- apkTool---一個簡單好用的apk反編譯工具APK編譯
- 88、合併兩個有序陣列陣列
- js合併兩個陣列物件JS陣列物件
- 合併兩個有序連結串列
- appium 能打包成 apk,啟動這個 apk 就能調起待測 app 自動化麼APPAPK
- 兩個影片怎麼合成一個影片?合併影片的方法分享
- 【Android APK】解析SD卡上的APK檔案AndroidAPKSD卡
- 88. 合併兩個有序陣列陣列
- 將兩個升序連結串列合併為一個新的 升序 連結串列並返回。(新手篇06)
- LeetCode每日一題:合併兩個有序陣列(No.88)LeetCode每日一題陣列
- 每日一道 LeetCode (19):合併兩個有序陣列LeetCode陣列
- Android Apk反編譯系列教程(二)APK重打包AndroidAPK編譯
- 【LeetCode】88. 合併兩個有序陣列LeetCode陣列
- 涼兮社工+apk開戶籍涼兮社工+apk開戶籍涼兮社工+apk開戶籍涼兮社工+apk開戶籍APK
- apk加殼加密工具(apk protect) v1.0下載APK加密
- 雙頻路由器2.4G和5G兩個WiFi訊號合併成一個的方法教程路由器WiFi