Android攻城bug分享-02

第一 ? 項(xiàng)目中出現(xiàn)的問(wèn)題 -遷移到as上的奇怪錯(cuò)誤

現(xiàn)在想必應(yīng)該是只有少數(shù)的老項(xiàng)目因?yàn)榫S護(hù)成本的原因,還停留在ec上沒(méi)有進(jìn)行遷移。大部分的項(xiàng)目應(yīng)該已經(jīng)在as上運(yùn)行了

這個(gè)也是必然趨勢(shì),as構(gòu)建項(xiàng)目的能力要強(qiáng)于ec不知道多少倍,并且還是Google的親兒子,這個(gè)自然非常強(qiáng)大。公司的一個(gè)

稍微舊一點(diǎn)的項(xiàng)目,在幾經(jīng)波折之后,還是遷移到as上,然后我就開始了漫長(zhǎng)的bug修復(fù)之后。

第二 ? ? 問(wèn)題的表現(xiàn)

第一 ? ?遷移之后,最突出的問(wèn)題就是api和版本不兼容的問(wèn)題嗎,這個(gè)倒是好改一些,百度一下之前遷移過(guò)來(lái)的已經(jīng)給我們探過(guò)

路的大神們已經(jīng)分享了很多經(jīng)驗(yàn),這個(gè)就不多贅述了。

第二 ? ?編碼問(wèn)題,我去以前的人竟然沒(méi)有用utf-8,真是厲害了,光這個(gè)就該了幾天,這個(gè)我個(gè)人的技巧就是先在原因的代碼頁(yè)面進(jìn)行ctrl+A

,然后復(fù)制,保持這個(gè)狀態(tài)不要做其他操作,然后去改變編碼,改完之后發(fā)現(xiàn)是 utf-8 ,在Ctrl+V。這是以前改的時(shí)候的小技巧,主要是注釋和一些注解要是不保留就真的呵呵了,但是頁(yè)面太多了。如果大神有好的方法,可以分享一下。

改變編碼的地方

第三 ? ? so文件的編譯錯(cuò)誤問(wèn)題,改了好幾遍,就是過(guò)不了編譯。原因的話,要不就是你的so文件出現(xiàn)損壞,畢竟在ec上對(duì)so的審查不嚴(yán)格,對(duì)一些不重要的文件直接就忽略了。在as上比較嚴(yán)格,一般遷移過(guò)來(lái)的項(xiàng)目只要是不該目錄的話,是不用動(dòng)的,就在project視圖的libs文件下


至于一般所說(shuō)的jnilibs文件夾,在遷移的時(shí)候會(huì)自動(dòng)生成的。用時(shí)在module的build.gradle文件的中android下邊,去配置路徑

sourceSets {

main {

? ? ? ? ? jniLibs.srcDirs= ['libs']

? ? ? ? }

}

這樣應(yīng)該是沒(méi)有問(wèn)題的,建議可以先更新或重新下載so文件,這樣更靠譜一些。

第三 ? assets文件的加載問(wèn)題

項(xiàng)目的修改已經(jīng)快完成了,并且網(wǎng)絡(luò)和圖片的加載也重構(gòu)了一遍。并且已經(jīng)可以打包運(yùn)行了,這個(gè)時(shí)候我感覺(jué)自己看見(jiàn)勝利的曙光了,但是打包之后,一個(gè)突如其來(lái)的bug,讓我重新落入黑暗之中,第三方的分享不能正常使用。放在資產(chǎn)目錄下的幾個(gè)靜態(tài)網(wǎng)頁(yè)沒(méi)有正常的加載。

針對(duì)這個(gè)問(wèn)題,我先檢查了一下網(wǎng)頁(yè)加載的路徑,發(fā)現(xiàn)沒(méi)有錯(cuò)誤。注意:反斜杠的個(gè)數(shù)啊,也許這個(gè)就是加載錯(cuò)誤的原因

webview_about_us.loadUrl("file:///android_asset/About.html");

然后去檢查權(quán)限配置,這個(gè)更沒(méi)有了,開始的時(shí)候答應(yīng)申請(qǐng)過(guò)了,這個(gè)比較無(wú)語(yǔ)。因?yàn)橐话沐e(cuò)誤指向很明確,但是這個(gè)沒(méi)有指向,也不報(bào)錯(cuò),就是加載不出來(lái)。第三方分享也不能正常使用,因?yàn)榈谌椒窒淼呐渲梦募?,就在資產(chǎn)目錄下放著呢。

我上官網(wǎng)上各種百度搜索,還是搞不定,有點(diǎn)蒙圈的感覺(jué)。然后就開始檢查配置文件,因?yàn)閑c遷移到as上需要配置的東西還挺多的,我找到了一個(gè)很相似的東西,就是在配置libs的時(shí)候

sourceSets {

main {

//? ? ? ? ? ? assets.srcDirs = ['assets']

? ? ? ? ? ? ? jniLibs.srcDirs= ['libs']

? ? }

}

這個(gè)地方的配置在遷移的時(shí)候?yàn)榱朔奖阃慌涞哪0?,但是這次在項(xiàng)目中發(fā)現(xiàn)這樣做會(huì)導(dǎo)致資產(chǎn)目錄下的文件加載失敗。

令外配置資產(chǎn)目錄的時(shí)候,需要配置在project視圖下的main目錄下邊,大家可以參照一下下面的文章的配置,可以直接這樣做

" sourceSets {main {assets.srcDirs = ['src/assets','src/assets/'] } } "

www.cnblogs.com/zhangqie/p/6430366.html

第四 ? 問(wèn)題總結(jié)

一般來(lái)說(shuō),資產(chǎn)目錄下放置的都是稍微大的文件,用來(lái)加載一些數(shù)據(jù)庫(kù)或者相對(duì)較大的一些文件資源?,F(xiàn)在一般都是用做混合開發(fā)的使用,一般在里面放置一部分靜態(tài)網(wǎng)頁(yè)來(lái)交互。

這些小的問(wèn)題是遷移到as上的時(shí)候遇見(jiàn)的比較奇怪的問(wèn)題,分享給大家看一下。如果有正在遷移的可以參考一下。令

如果有不對(duì)的話,煩請(qǐng)指正一下。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容