Android外掛化開發過程中遇到的問題總結
最近接手的一個專案,是在外掛分支裡開發一個功能。但是寫過demo之後,發現同樣的程式碼在專案中執行不起來。在此過程中遇到的問題總結一下,以便以後遇到同樣的問題直到問題出在哪。
一、四大元件的註冊
四大元件的使用是一定要宣告的,尤其是要在主站中宣告。並且在外掛化開發的過程中,確保你所新增的內容,在最新的主站包裡都有對應的資訊。不然是無法呼叫的。
二、檢視主站內容
將app的apk解壓縮,或生成若干檔案。檢查assert目錄下的json檔案,裡面有主站的一些配置資訊。或者檢視主站的Manifest檔案,看看註冊的內容是否生效了。
若發現沒有打進去是註冊的內容,有可能是外掛沒打進去,需要修改主站包裡的外掛編譯引用。新增bundle依賴的artifact屬性。
三、檢視外掛內容
主站apk解壓縮出來的外掛so檔案,將其後綴改成apk,放到AS中開啟,可以檢視。看看它的manifest內容是否是最新。
基於以上三點,可以排查自己新新增的元件如果沒有生效,就是在打包過程中出問題了。看看是不是沒有註冊之類的。
相關推薦
Android外掛化開發過程中遇到的問題總結
最近接手的一個專案,是在外掛分支裡開發一個功能。但是寫過demo之後,發現同樣的程式碼在專案中執行不起來。在此過程中遇到的問題總結一下,以便以後遇到同樣的問題直到問題出在哪。 一、四大元件的註冊 四大元件的使用是一定要宣告的,尤其是要在主站中宣告。並且在外掛化開發的過程中
Android外掛化開發之AMS與應用程式(客戶端ActivityThread、Instrumentation、Activity)通訊模型分析
今天主要分析下ActivityManagerService(服務端) 與應用程式(客戶端)之間的通訊模型,在介紹這個通訊模型的基礎上,再 簡單介紹實現這個模型所需要資料型別。 本文所介紹內容基於android2.2版本。由於Android版本的不同
Android外掛化開發教程(一)
1.什麼是外掛化開發首先我們要對外掛化的概念有一個認識:外掛化開發是將整個app拆分成很多模組,這些模組包括一個宿主和多個外掛,每個模組都是一個apk(元件化的每個模組是個lib),最終打包的時候將宿主apk和外掛apk分開或者聯合打包。外掛式開發通俗的講就是把一個很大的app分成n多個
《Android外掛化開發指南》勘誤
一些常識: 1)全書70個程式碼例子中,涉及到外掛的例子,請先assemble外掛的專案,這會在HostApp專案中生成assets目錄,並在該目錄下plugin1.apk。這樣,HostApp才能正常執行。 2)本書基於Android6.0(API level 23)的原始碼進行分析,本書的程式碼在
《Android外掛化開發指南》面世
本書Q群:389329264 (一)這是一本什麼書 如果只把本書當作純粹介紹Android外掛化技術的書籍,那就大錯特錯了。 本書在研究Android外掛化之餘,還詳細介紹了Android系統的底層知識,包括Binder和AIDL的原理、四大元件的原理、Ap
Android外掛化開發 第三篇 [載入外掛資源]
引言 本文講解宿主如何從外掛apk中獲取到資源,為啥要從外掛中獲取資源呢?這種需求可能來自於顯示外掛的名字啊,圖示之類的。比如宿主的一個按鍵上顯示“掃一掃”或者"搖一搖"之類的,這個字串是外掛提供的。 Demo建立 引入外掛的AssetManager private sta
詳解Android外掛化開發-資源訪問
動態載入技術(也叫外掛化技術),當專案越來越龐大的時候,我們通過外掛化開發不僅可以減輕應用的記憶體和CPU佔用,還可以實現熱插拔,即在不釋出新版本的情況下更新某些模組。 通常我們把安卓資原始檔製作成外掛的形式,無外乎有一下幾種: zip
Android中so使用知識和問題總結以及外掛開發過程中載入so的方案解析
一、前言 Android中有時候為了效率以及平臺開發庫的支援,難免會用到NDK開發,那麼都會產生一個so檔案,通過native方法進行呼叫,開發和呼叫步驟很簡單,這裡就不多說了,本文主要來介紹,我們在使用so的時候總是會出現一些常見的問題,而現在外掛化開發也很普遍了,有
Android 開發過程中平時遇到的一些問題及總結
相信大家都有面試的經歷,相對比面試官的問的一些問題其實都是基礎的知識,但就是一些基礎的知識我們也不是很完美的回答出來,我們也知道現在的開發人員很多,一家公司一個崗位就會有很多的開發者投遞,在那麼多開發者中你如何讓面試官很深的認識你,給面試官一個很深的印象,能讓他
android專案開發過程中的本地快取總結
在現在很多的開發中,開發一個app快取和網路儲存搭配起來使用往往是必須的,自己寫過比較多的專案所有談談感想。 快取作用: 所謂的快取機制就是資料獲取方式的變化,app的快取通常就是把使用者經常需要從網路上載入並且變化不是事實的資料進行本地的儲存,這樣可以減少使用者流量的使用
Android小部件Widget開發過程中的坑和總結
@[toc] # 概述 ### 官方參考 [Build an App Widget](https://developer.android.com/guide/topics/appwidgets/index.html#implementing_collections) ### 效果圖 放張效果圖,這是我玩
關於基於Linphone的視頻通話Android端開發過程中遇到的問題
浪費 phone 模式 需要 class 通話 其他 了解 同時 關於基於Linphone的視頻通話Android端開發過程中遇到的問題 運用開源項目Linphone的SDK進行開發,由於是小組進行開發,我主要負責的是界面部分。 由於當時是初學Android開發
android開發過程中一些遇到的問題
記錄android開發過程中遇到的問題。 1.在一個xml中能否使用同一個include多次 http://www.apkbus.com/android-104152-1-1.html android中include標籤的使用 http://
Android外掛化原理和實踐 (四) 之 合併外掛中的資源
我們繼續來學習Android外掛化相關知識,還是要圍繞著三個根本問題來展開。在前面兩章中已經講解過第一個根本問題:在宿主中如何去載入外掛以及呼叫外掛中類和元件程式碼。Demo中使用了Service來演示,因為還沒有解決載入外掛中資源的問題,用Activity不好展示。所以本文將要從資源的載入機制
Android開發過程中的坑及解決方法收錄(四)
1.某個控制元件要放在Linearlayout佈局的底部(底部導航條) <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.
Android開發過程中的坑及解決方法收錄
1.某個控制元件要放在Linearlayout佈局的底部(底部導航條) <LinearLayout android:layout_width="match_parent" android:orientation="vertical" android:layou
基於vue框架專案開發過程中遇到的問題總結(一)
(一)關於computed修改data裡變數的值 問題:computed裡是不能直接修改data裡變數的值,否則在git commit 時會報錯 解決:在computed裡使用get和set來進行獲取和修改data變數,(參考下圖) (二)computed裡監聽陣列
android 開發過程中涉及到的清除快取操作
android 開發過程中會遇到很多快取,常常使人摸不清楚,這裡總結一下,希望下次遇到快取相關問題能有所幫助。 Clean Project 點選 Clean Project 會執行 clean、:
Android 開發過程中遇到的問題Error:Execution failed for task ':app:processDebugManifest'
在開發過程中遇到了這樣一個問題: 問題1: Error:Execution failed for task ':app:processDebugManifest'.> Manifest merger failed with multiple errors, see l
(4.6.29)Android外掛化框架總結
一、概述 所謂外掛化,就是讓我們的應用不必再像原來一樣把所有的內容都放在一個apk中,可以把一些功能和邏輯單獨抽出來放在外掛apk中,然後主apk做到[按需呼叫],這樣的好處是一來可以減少主apk的體積,讓應用更輕便,二來可以做到熱插拔,更加動態化 採集