MTK Genio500 移植GMS及youtube問題處理的解決辦法

關鍵字 :mediatekGenioGMS
在MTK Android平台上集成GMS 包比較簡單,但是會遇到一些小小的問題。

下面是基於MTK Android13進行的GMS包的移植:

1.準備GMS:
    GMS包在Android的基線是不帶的,需要我們去Google的網站註冊下載相應的全家桶或者如果貴司有MADA資質 可以從MTK下載移植好的GMS和mainline包 解壓就行。

2.編譯GMS:
   如果是從Google下載的全家桶,/vendor/partner_gms/products/gms.mk 裡面已經能將所需要安裝包都已經放好了,只需要把gms.mk 加入系統編譯即可。而從MTK獲取到的gms和mainline包,MTK已經把gms腳本寫好了,只需要在如下文件下把

 

device/mediateksample/PROJECT_NAME/ProjectConfig.mk
device/mediatek/system/mssi_t_64_cn/SystemConfig.mk


這兩個裡面BUILD_GMS這個宏設置為yes,編譯刷機,桌面有youtube,chrome 等,說明集成成功。

客戶在移植完後,我們需要註冊google的賬號,並且登錄Google play會提示Google Play 設備未獲得Play保護機制認證的問題,我們只需要獲取到設備的DeviceID,然後在Google註冊就OK了。

測試youtube的時候,可能會遇到以下問題:
1.遇到刷機後,直接進入youtube後會出現youtube閃退的問題,這個是因為後台會對youtube進行升級而出現閃退,這個是正常的現象,一般我們都可以在升級平台固件後,直接去Google play store里去把youtube升級成最新的版本來規避閃退的問題。



2.從MTK或者Google獲取到的GMS包里的APK都是比較老的版本,可能會出現播放youtube里的視頻出現卡住無法再次播放的問題,或者退出youtube後,無法再次進入的問題,如果出現無法再次進入的問題,我們需要在setting里把找到youtube的app,然後清除其存儲空間和緩存就可以再次打開youtube了。

3.Youtube ANR,userload不復現,請在userload中複測,具體原因是由於在userdebug load下 app會去列印東西做字符串拼接的時候進入遞歸導致ANR. log如下:

 

  at arvv.c(PG:3)
at arvr.g(PG:7)
at arvr.toString(PG:10)
at java.lang.String.valueOf(String.java:2924)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at arvr.q(PG:2)
at arvr.g(PG:5)
at arvr.toString(PG:10)
at java.lang.String.valueOf(String.java:2924)
at arvv.c(PG:3)
at arvr.g(PG:7)
at arvr.toString(PG:10)
at java.lang.String.valueOf(String.java:2924)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at android.os.Looper.loop(Looper.java:192)
at android.app.ActivityThread.main(ActivityThread.java:7700)
at java.lang.reflect.Method.invoke(Native method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:612)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:997)


如果在log里有如上,可以直接聯繫Google處理或者使用user版本。

4.播放Youtube卡頓並有馬賽克,可以在media_codec_c2.xml里c2.mtk.vp9.decoder的軟解關閉,直接使用Google的軟體。

以上是基於mtk gms移植及遇到的問題的解決辦法。

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論