Android攻城bug分享-02

第一     項目中出現的問題 -遷移到as上的奇怪錯誤

        現在想必應該是隻有少數的老項目因爲維護成本的原因,還停留在ec上沒有進行遷移。大部分的項目應該已經在as上運行了

這個也是必然趨勢,as構建項目的能力要強於ec不知道多少倍,並且還是Google的親兒子,這個自然非常強大。公司的一個

稍微舊一點的項目,在幾經波折之後,還是遷移到as上,然後我就開始了漫長的bug修復之後。

第二     問題的表現

第一       遷移之後,最突出的問題就是api和版本不兼容的問題嗎,這個倒是好改一些,百度一下之前遷移過來的已經給我們探過路的大神們已經分享了很多經驗,這個就不多贅述了。

第二      編碼問題,我去以前的人竟然沒有用utf-8,真是厲害了,光這個就浪費了幾天的時間,好在中間沒有其他的任務,這個我個人的技巧就是先在原因的代碼頁面進行ctrl+A, 然後複製,保持這個狀態不要做其他操作,然後去改變編碼,改完之後發現是 utf-8 ,在Ctrl+V。這是以前改的時候的小技巧,主要是註釋和一些註解要是不保留就真的呵呵了,但是頁面太多了。如果大神有好的方法,可以分享一下。

改變編碼的地方

第三     so文件的編譯錯誤問題,改了好幾遍,就是過不了編譯。原因的話,要不就是你的so文件出現損壞,畢竟在ec上對so的審查不嚴格,對一些不重要的文件直接就忽略了。在as上比較嚴格,一般遷移過來的項目只要是不該目錄的話,是不用動的,就在project視圖的libs文件下

至於一般所說的jnilibs文件夾,在遷移的時候會自動生成的。用時在module的build.gradle文件的中android下邊,去配置路徑

sourceSets {

main {

          jniLibs.srcDirs= ['libs']

        }

}

這樣應該是沒有問題的,建議可以先更新或重新下載so文件,這樣更靠譜一些。

第三   assets文件的加載問題

項目的修改已經快完成了,並且網絡和圖片的加載也重構了一遍。並且已經可以打包運行了,這個時候我感覺自己看見勝利的曙光了,但是打包之後,一個突如其來的bug,讓我重新落入黑暗之中,第三方的分享不能正常使用。放在資產目錄下的幾個靜態網頁沒有正常的加載。

針對這個問題,我先檢查了一下網頁加載的路徑,發現沒有錯誤。注意:反斜槓的個數啊,也許這個就是加載錯誤的原因

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

然後去檢查權限配置,這個更沒有了,開始的時候答應申請過了,這個比較無語。因爲一般錯誤指向很明確,但是這個沒有指向,也不報錯,就是加載不出來。第三方分享也不能正常使用,因爲第三方分享的配置文件,就在資產目錄下放着呢。

我上官網上各種百度搜索,還是搞不定,有點蒙圈的感覺。然後就開始檢查配置文件,因爲ec遷移到as上需要配置的東西還挺多的,我找到了一個很相似的東西,就是在配置libs的時候

sourceSets {

main {

//            assets.srcDirs = ['assets']

              jniLibs.srcDirs= ['libs']

    }

}

這個地方的配置在遷移的時候爲了方便同一配的模板,但是這次在項目中發現這樣做會導致資產目錄下的文件加載失敗。

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

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

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

第四   問題總結

一般來說,資產目錄下放置的都是稍微大的文件,用來加載一些數據庫或者相對較大的一些文件資源。現在一般都是用做混合開發的使用,一般在裏面放置一部分靜態網頁來交互。

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

如果有不對的話,煩請指正一下。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章