Android平臺上的Chrome,官方版本是不支持安裝擴(kuò)展功能的。如果要擴(kuò)展chrome的功能,可以用Xposed框架,不過Xposed框架上有關(guān)chrome的插件并不多。

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),廣河企業(yè)網(wǎng)站建設(shè),廣河品牌網(wǎng)站建設(shè),網(wǎng)站定制,廣河網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,廣河網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
Xposed框架是一款修改系統(tǒng)框架服務(wù)的軟件,通過它的媒介許多功能強(qiáng)大的模塊得以運(yùn)行,且不沖突地同時(shí)運(yùn)作,自從Xposed框架發(fā)布以來,安卓手機(jī)的可玩性日益激增。
如果要使用Xposed框架來開啟Chrome插件,建議手機(jī)的Android系統(tǒng),在4.2和4.4之間。Android5.0以后的版本,支持效果并不好。如果要使用擴(kuò)展功能,而又嫌安裝Xposed框架麻煩,推薦使用火狐瀏覽器Android版。該瀏覽器的Android手機(jī)版,支持較多的插件的。
GoogleChrome瀏覽器不僅在桌面設(shè)備上表現(xiàn)卓越,在Android手機(jī)和平板電腦上也可讓您暢享快速流暢的瀏覽體驗(yàn)。借助GoogleChrome,您可以通過標(biāo)簽頁同步功能接著瀏覽在其他設(shè)備上打開的網(wǎng)頁、通過語音進(jìn)行搜索,并可在瀏覽時(shí)節(jié)省多達(dá)50%的數(shù)據(jù)流量。
擴(kuò)展資料
關(guān)于安卓手機(jī)的硬件和拓展:
Android平臺首先就是其開放性,開發(fā)的平臺允許任何移動(dòng)終端廠商加入到Android聯(lián)盟中來。顯著的開放性可以使其擁有更多的開發(fā)者,隨著用戶和應(yīng)用的日益豐富,一個(gè)嶄新的平臺也將很快走向成熟。
開放性對于Android的發(fā)展而言,有利于積累人氣,這里的人氣包括消費(fèi)者和廠商,而對于消費(fèi)者來講,最大的受益正是豐富的軟件資源。開放的平臺也會帶來更大競爭,如此一來,消費(fèi)者將可以用更低的價(jià)位購得心儀的手機(jī)
這一點(diǎn)還是與Android平臺的開放性相關(guān),由于Android的開放性,眾多的廠商會推出千奇百怪,功能特色各具的多種產(chǎn)品。功能上的差異和特色,卻不會影響到數(shù)據(jù)同步、甚至軟件的兼容,如同從諾基亞Symbian風(fēng)格手機(jī)一下改用蘋果iPhone,同時(shí)還可將Symbian中優(yōu)秀的軟件帶到iPhone上使用、聯(lián)系人等資料更是可以方便地轉(zhuǎn)移。
Android平臺提供給第三方開發(fā)商一個(gè)十分寬泛、自由的環(huán)境,不會受到各種條條框框的阻擾,可想而知,會有多少新穎別致的軟件會誕生。但也有其兩面性,血腥、暴力、情色方面的程序和游戲如何控制正是留給Android難題之一。
參考資料:百度百科--安卓
插件化開發(fā)和組件化開發(fā)略有不用,插件化開發(fā)時(shí)將整個(gè)app拆分成很多模塊,這些模塊包括一個(gè)宿主和多個(gè)插件,每個(gè)模塊都是一個(gè)apk(組件化的每個(gè)模塊是個(gè)lib),最終打包的時(shí)候?qū)⑺拗鱝pk和插件apk分開或者聯(lián)合打包。
開源的插件化框架
Qihoo360/DroidPlugin
CtripMobile/DynamicAPK
mmin18/AndroidDynamicLoader
singwhatiwanna/dynamic-load-apk
houkx/android-pluginmgr
bunnyblue/ACDD
wequick/Small
……
目前開源的這幾個(gè)框架有宿主和插件分離的也有融合在一起的,每個(gè)框架的詳細(xì)介紹和demo在github里都可以查看到。插件化demo運(yùn)行起來比較簡單,但是真正將它用到實(shí)際項(xiàng)目中還是要考慮很多小細(xì)節(jié)的,目前我也正處于研究階段。
問題描述
安裝解析.csv文件、Translation 插件后,重啟as卡死在啟動(dòng)頁
解決方法
刪除安裝過的插件
C:\Users\your_user_name\AppData\Roaming\Google\AndroidStudio4.1\plugins
對于 Android Studio 4.1 及更高版本:
Windows:C:\Users\your_user_name\AppData\Roaming\Google\AndroidStudio4.1\plugins
macOS:~/Library/Application Support/Google/AndroidStudio4.1\plugins
Linux:~/.config/Google/AndroidStudio4.1 和 ~/.local/share/Google/AndroidStudio4.1\plugins
找到已經(jīng)安裝過的插件,移除,如果移除后還是不能啟動(dòng),那就直接移除android studio 4.1吧。
1. H.A.X.M(硬件加速執(zhí)行管理器)
如果你想使用Android模擬器更快地執(zhí)行應(yīng)用程序,那么H.A.X.M是你的最佳選擇。H.A.X.M提供Android SDK模擬器在英特爾系統(tǒng)中的硬件加速。我認(rèn)為H.A.X.M是最有用的插件,因?yàn)樗茏孉ndroid開發(fā)人員盡快地在模擬器上運(yùn)行最新的Android版本。
2. genymotion
Genymotion是測試Android應(yīng)用程序,使你能夠運(yùn)行Android定制版本的旗艦工具。它是為了VirtualBox內(nèi)部的執(zhí)行而創(chuàng)建的,并配備了一整套與虛擬Android環(huán)境交互所需的傳感器和功能。使用Genymotion能讓你在多種虛擬開發(fā)設(shè)備上測試Android應(yīng)用程序,并且它的模擬器比默認(rèn)模擬器要快很多。
3. Android Drawable Importer
為了適應(yīng)所有Android屏幕的大小和密度,每個(gè)Android項(xiàng)目都會包含drawable文件夾。任何具備Android開發(fā)經(jīng)驗(yàn)的開發(fā)人員都知道,為了支持所有的屏幕尺寸,你必須給每個(gè)屏幕類型導(dǎo)入不同的畫板。Android Drawable Importer插件能讓這項(xiàng)工作變得更容易。它可以減少導(dǎo)入縮放圖像到Android項(xiàng)目所需的工作量。Android Drawable Importer添加了一個(gè)在不同分辨率導(dǎo)入畫板或縮放指定圖像到定義分辨率的選項(xiàng)。這個(gè)插件加速了開發(fā)人員的畫板工作。
4. Android ButterKnife Zelezny
Android ButterKnife是一個(gè)“Android視圖注入庫”。它提供了一個(gè)更好的代碼視圖,使之更具可讀性。 ButterKnife能讓你專注于邏輯,而不是膠合代碼用于查找視圖或增加偵聽器。
5、Lifecycle Sorter
可以根據(jù)Activity或者fragment的生命周期對其生命周期方法位置進(jìn)行先后排序,快捷鍵Ctrl + alt + K
6、JsonOnlineViewer
可實(shí)現(xiàn)直接在android studio中調(diào)試接口數(shù)據(jù),可以選擇請求類型,自定義請求頭及請求體,json數(shù)據(jù)格式化后展示,配合著Gsonformat會不會不錯(cuò)
Gradle自定義插件
我們新建一個(gè)名為JiaguPlugin的Module
調(diào)整build.gradle為如下所示(這里我使用Kotlin開發(fā))
創(chuàng)建一個(gè)JiaguPlugin類
然后創(chuàng)建resources目錄并創(chuàng)建插件的配置文件
配置文件的內(nèi)容如下:
1)創(chuàng)建一個(gè)擴(kuò)展
這里我們創(chuàng)建的擴(kuò)展名為jiagu,這個(gè)就好像app下build.gradle中的android擴(kuò)展一樣
我們擴(kuò)展中的參數(shù)是JiaguParams中的參數(shù)
2)添加監(jiān)聽
添加一個(gè)讀取完配置信息后的回調(diào)
然后我們先將我們的插件上傳到Maven倉庫,也就是執(zhí)行插件build.gradle的這個(gè)Task,這里我上傳到了項(xiàng)目下的Plugins文件夾下
然后我們在項(xiàng)目的build.gradle文件里引入
加固的任務(wù)類JiaguTask如下,這里的命令是參照文章開頭360加固的help文件:
4)配置加固信息
我們在build.gradle文件中配置好我們的加固信息
5)進(jìn)行加固
首先我們先make一下項(xiàng)目,生成apk文件
原理:實(shí)現(xiàn)原理上都選擇盡量少的hook,通過在manifest上預(yù)埋一些組件實(shí)現(xiàn)四大組件的插件化。其中Small更形成了一個(gè)跨平臺、組件化的框架。
VirtulApp:
能夠完全模擬app的運(yùn)行環(huán)境,能夠?qū)崿F(xiàn)免安裝應(yīng)用和雙開技術(shù)。
Atlas:
阿里出品,號稱是一個(gè)容器化框架,結(jié)合了組件化和熱更新技術(shù)。
Android中有兩種類加載器,DexClassLoader和PathClassLoader,它們都繼承于BaseDexClassLoader。
兩者的區(qū)別:DexClassLoader多了一個(gè)optimizedDirectory的路徑參數(shù),這個(gè)目錄必須是內(nèi)部存儲路徑,用于緩存系統(tǒng)創(chuàng)建的Dex文件。
所以我們可以使用DexClassLoader去加載外部Apk中的類。
ClassLoader調(diào)用loadClass方法加載類采用了雙親委托機(jī)制來避免重復(fù)加載類。
首先,ClassLoader會查看自身已經(jīng)加載的類中是否已經(jīng)存在此類,如不存在,然后,則會使用父類來加載此類,如不能成功加載,則會使用自身重載于BaseDexClassLoader的findClass()方法來加載此類。
DexClass的DexPathList在DexClass的構(gòu)造器中生成,findClass()方法則是從DexPathList下面找出對應(yīng)的DexFile,循環(huán)DexElements,通過dexElement.dexFile取出對應(yīng)的DexFile,再通過DexFile.loadClassBinaryName()加載對應(yīng)的類。
作用:使用插件DexClassLoader加載出需要的類。
通過每一個(gè)插件的DexClassLoader加載出自身所需要的類,當(dāng)每一個(gè)插件需要加載相同的類庫時(shí),可采用該類庫的不同版本來使用。
通過把每一個(gè)插件的pathList(DexFile)合并到主app的DexClassLoader上,來使各個(gè)插件和主app直接能夠相互調(diào)用類和方法,并且各個(gè)插件中相同的功能可以抽取出來作為一個(gè)Common插件供其它插件使用。
插件調(diào)用主工程
在ClassLoader構(gòu)造時(shí)指定主工程的DexClassLoader為父加載器即可直接調(diào)用主工程中的類和方法。
主工程調(diào)用插件
如果是多DexClassLoader的情況,則需要通過插件的DexClassLoader加載對應(yīng)的類并反射調(diào)用其方法。此種情況,主工程一般會在一個(gè)統(tǒng)一的地方對訪問插件中的類和方法做一些訪問權(quán)限的管理及配置。
如果是單DexClassLoader的情況,則可以直接調(diào)用插件中的類和方法。但是當(dāng)多個(gè)插件引用的庫的版本不同時(shí),會出現(xiàn)錯(cuò)誤,因此,建議采用Gradle版本依賴管理統(tǒng)一處理主工程及各個(gè)插件的庫依賴。
Android通過Resource來加載資源,只要有插件apk,就可以使用assertManager.addAssertPath(apkPath)的方式來生成assertManager,再使用其new出對應(yīng)的Resource對象即可。
注意:由于AssertManager并不是Public,所以需要通過反射的方式去調(diào)用它。并且由于一些Rom對Resource的處理,所以,需要兼容處理。
有2種處理方式:
產(chǎn)生的原因:由于主工程和各個(gè)插件引用的Resource id重復(fù)產(chǎn)生的沖突。
解決思路:Android中的資源在系統(tǒng)中是以8位16進(jìn)制0XPPTTRRRR的方式存在,其中PP即是資源區(qū)分的區(qū)域(Android系統(tǒng)只用它來區(qū)分系統(tǒng)資源和應(yīng)用資源),只要讓每一個(gè)插件的PP段取不同的值即可解決資源id沖突的問題。
具體解決方式:
1.修改aapt源碼,編譯期修改PP段。
2.修改Resource的arsc文件,其中的每一條都包含了資源id和映射路徑。
Activity的處理最為復(fù)雜,有兩種處理方式:
1.ProxyActivity的方式。
2.預(yù)埋StubActivity,hook系統(tǒng)啟動(dòng)Activity的過程。
原理:VirtualAPK通過替換了系統(tǒng)的Instrumentation,hook了Activity的啟動(dòng)和創(chuàng)建,省去了手動(dòng)管理插件Activity生命周期的繁瑣,讓插件Activity像正常的Activity一樣被系統(tǒng)管理,并且插件Activity在開發(fā)時(shí)和常規(guī)一樣,即能獨(dú)立運(yùn)行又能作為插件被主工程調(diào)用。
Android插件化方向主要有2個(gè)方向:
Android 插件化
當(dāng)前文章:android插件,android插件化開發(fā)
文章來源:http://chinadenli.net/article9/dsigsih.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、動(dòng)態(tài)網(wǎng)站、網(wǎng)站改版、網(wǎng)站收錄、網(wǎng)站排名、營銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)