發表文章

目前顯示的是有「android」標籤的文章

Firefox Android addon/extension debug

Desktop和mobile支援的API不一樣,不是所有extension都能通用 iOS因為Apple規定browser只能用webkit,所以無法支援AMO的addon https://developer.mozilla.org/en-US/docs/Tools/about:debugging https://extensionworkshop.com/documentation/develop/developing-extensions-for-firefox-for-android/ https://developer.mozilla.org/en-US/docs/Tools/Web_Console/Split_console 有一部分訊息要用adb logcat來看,如果有裝android studio會比較方便看

Asus Zefone 5Z(Z01RD/ZS620KL) 刷第三方ROM, custom rom LineageOS

圖片
照慣例細節不多做解釋,只寫補充文件的東西和心得 刷機有一定風險,不想花時間看文件的人不適合 其他品牌或不同型號手機,在步驟上略有不同,主要概念相同 刷第三方的動機 原廠軟體無法滿足: 系統不順, 有bug,功能不足,想對系統有更多掌控 原廠放棄維護,無法獲得更新有安全性疑慮 先把手機接上電腦,安裝需要的Android driver(名字可能帶有ADB, fastboot),沒裝下指令可能會有問題,driver可去手機商網站下載,或是在Windows更新內找到 刷第三方或是root都要先unlock bootloader 用官方或非官方解鎖都可以,差別在官方解鎖會有記錄,還在保固期會失去保固 資料要先備份好,遊戲/app轉移,記錄要安裝哪些app 2FA或其他安全機制要確保還能登入 (一種方法是在帳號登記手機,用手機當替代方案) 詳細步驟看LineageOS的文件 如何開啟開發者模式,adb的使用...etc https://wiki.lineageos.org/devices/Z01R/install 使用體驗比ASUS原廠rom順多了,建議先不要root root後,會有更多app被擋 (需要額外破解,還不一定能全解) root的防禦機制,Gapps會偵測到某些修改,寫入flag在系統中(除非找出改動還原,否則得把系統清掉重刷) 會被擋的app 沒有root就被擋的: 麥當勞 root後被擋的: 銀行,全家,某些支付 不怕麻煩可以持續玩貓抓老鼠,破解和被偵測反制的循環,會有短暫時間可以用 安裝/設定/更新上的問題 Android多數使用A/B system 根據LineageOS 17.1行為推測,刷在哪個slot是zip決定的 (應該是裡面某個設定或script) 在recovery中刷LineageOS安裝包會刷在另一個slot (非active slot) 刷其他非系統的擴充 (ex: OpenGApps, Magisk)會刷在active slot active slot在 recovery或fastboot都會顯示,也可以下指令切換 系統升級完如果卡在開機動畫,可以補刷安裝時有額外裝的 (ex: OpenGApps, Magisk) 第三...

Android/PC 共用/分享 網路/顯示畫面,share network and display

Android使用PC的網路 https://github.com/Genymobile/gnirehtet PC使用Android的網路 Android打開網路分享就可以了,建議用usb連線會比較省電 分享Android畫面 (不限定到PC上) 有些軟體不分享聲音,要另外接線輸出到電腦line in (輸入) Android 7~9因安全性規定,無法錄內部聲音(internal audio) 除了某些廠牌有修改開放,軟體只能透過Mic錄音,或靠破解 (root/magisk之類的) 似乎Android 10有重新開放? 待查證 scrcpy, 沒有傳聲音 https://github.com/Genymobile/scrcpy This application provides display and control of Android devices connected on USB (or over TCP/IP). It does not require any root access. It works on GNU/Linux, Windows and MacOS. asus 5z測試過用wifi連線,畫面經常性小lag ApowerMirror Mobizen LetsView 似乎把手機影音打到另一個螢幕/電腦的功能還沒有統一標準? Miracast,似乎要有無線網卡才可以? laptop似乎有內建 由於是wifi網卡的功能,iphone應該也可以用 https://support.microsoft.com/zh-tw/help/15053/windows-8-project-wireless-screen-miracast Chromcast 要有支援chromecast的裝置才可以 MHL https://en.wikipedia.org/wiki/Mobile_High-Definition_Link 錄音Internal audio https://appuals.com/how-to-record-internal-audio-on-android/ 實況 https://forum.xda-developers.com/android/genera...

Android 權限/隱私調整 permission/privacy management

Android 6.0 Marshmallow系統內建可調整開放的權限 (在應用程式資訊內) 只開放權限類別,很多細項無法調整 想要調整只能root後安裝第三方軟體 xposed module (need install xposed framework first) privacy   XPrivacy XPrivacyLua (6.0以後可用,successor of XPrivacy) 和隱私無關的功能沒有 ex: 震動 作者說基本上比XPrivacy好,兩者不能共存會衝突 XPrivacy某些隱私權限擋掉後會讓app crash,Lua有修正 permission AppOpsXposed 最新版在我的手機無法運作,我是用舊一點的版本 想要關掉充電時的震動 關掉系統UI的viberation就行了 (可能會連其他情況的震動也關掉) 建議關掉瀏覽器的震動,有些網站會濫用 + 訊息騙你系統有安全問題

Android VLC 中文字幕無法顯示/亂碼,display Chinese subtitle incorrectly

測試環境 Android 6.01, VLC player 3.05 字幕會變成方塊/亂碼,無法正常顯示,原因為VLC找不到字型或編碼有錯 這可能非最佳解法,對Android沒那麼熟 首先要先確認字幕檔編碼和VLC設定一樣 (自動偵測錯誤時,改utf-8通常能解決) 如果編碼沒錯,下一步是修正缺少的字型 下載google提供的NotoSansCJK-Regular.ttc字型 https://github.com/googlei18n/noto-cjk/blob/master/NotoSansCJK-Regular.ttc 或 https://www.google.com/get/noto/help/cjk/ 把 NotoSansCJK-Regular.ttc 複製到 /system/fonts/就可以了 (需要root或adb) 如果要讓其他app使用這個字型,應該還要修改/system/etc/fonts.xml 詳細改法,有興趣的人可以google看看,我沒有處理 這個修正法背後的原理,VLC寫死使用的字型 實際上,不是每隻手機都有預裝這字型 (google的原生系統有,其他家沒放?) http://git.videolan.org/gitweb.cgi/vlc.git/?p=vlc.git;a=blobdiff;f=modules/codec/libass.c;h=8004feb138ecad850106f015cb12fe38c0611e94;hp=8a73497422aa17c8d3f032e795a37cc67b2cd131;hb=8a15910d9f8e7d860f29d0e9803c756970d8cf74;hpb=4b898d321d77436204b573d066c61261d037f275 正確的方法,應該Android VLC要提供設定字幕字型 (desktop版就有這設定) MX Player字幕顯示就沒有問題,個人感覺效能上MX Player也比VLC好 VLC強在整體功能比較多 (也比較肥大)

Android 的影片硬體解碼支援, hardware decoder

來源 http://www.droidviews.com/enjoy-hevc-h-265-video-playback-on-android/ https://play.google.com/store/apps/details?id=net.tyniw.mediacodecinfo.application 使用這套app可以看到系統內的encoder/decoder OMX. 後面就是提供者的id,要看你手機的晶片是哪家的 On the Codec List Tab of Media Codec Info App, check for the following:     OMX.qualcomm.hevc.decoder on Qualcomm chipsets     OMX.MEDIATEK.HEVC.DECODER on Mediatek chip-sets     OMX.Exynos.hevc.dec on Exynos chip-sets

安卓擋廣告 Android adblock

擋廣告主機 https://craftwarblog.blogspot.com/2019/01/block-advertisement-host.html Content level AdGuard https://github.com/chiehmin/MinMinGuard

OBS使用案例 夜神模擬器安卓模擬器當掉 Android emulator Nox crash

圖片
終馬扁(說要開台馬扁了太多次,觀眾命名)請我幫忙處理的問題 (我沒在玩手遊沒用模擬器) Nivida 1080,Nox在開OBS時會當掉, 經過測試研究後 Nox用OpenGL的模式,要先開Nox再開OBS去用game capture hook,Nox否則會有問題 Jim(OBS作者) 自己說OpenGL hook有問題了w 所以Nox能用DX的話就用,M$上要用DirectX,不是gl 硬體上和dirver最佳化目標是DX,所以效能上DX應該是比gl好 driver通常gl也寫的沒DX好,也有可能不完全 建議你還是用DX比較好,效能有差,實況可能就有差那cpu 設定方法,顯卡模式改成DirectX (其他選項是他電腦太好,不用照操) 為啥相容模式是gl,很簡單,android只有 gl (mini-gi),沒有DX,要轉api當然可能有問題

Android Firefox Extension debug

https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Developing_WebExtensions_for_Firefox_for_Android https://developer.mozilla.org/en-US/docs/Tools/Remote_Debugging/Debugging_Firefox_for_Android_over_Wifi wifi的場合好像一定要裝他講的那個app,原先已裝QR Droid無效,wifi debug還是不能開? adb的用法 adb tcpip 5555 adb connect device_ip_address $ adb devices List of devices attached device_ip_address:5555 device adb kill-server  (reset and start from adb connect) 好像有奇怪的bug,玩一玩就連不上android了 (WebIDE shift+F8) 也許用usb比較好

Android 安裝,設定 紀錄

記錄一下,有些東西無法直接login帳號後還原 以後可能刷機也需要 Magisk module Art Optimization Bellota Font Enable Doze for GMS Magisk Module Single User M od Terminal Emulator Debloater (可用其他GUI app直接砍) 未測試 YouTube Vanced WiFi Bonding Xposed module App Settings 1.1.3xda download(只用來改locale 也許有別套) App Locale (改用AppOps+Xprivacy後,就不需要拔權限,只改locale就夠我用) AppOps 1.29beta10, 新版不能用 Glitchify Gravitybox Greenify MinMinGuard Play Store Changelog RootCloak (可用Magisk內建) TwitchNoAds Xprivacy Xprivacy in App Info Youtube AdAway YoutubeSwipeToSeek disable module when phone can't boot /data/data/de.robv.android.xposed.installer/conf/modules.list https://forum.xda-developers.com/xposed/howto-disable-xposed-modules-via-t3227175 F-Droid AdAway BusyBox Simple IRC

Android Magisk module uninstall

magisk module比xposed module危險,可能會無法開機,解法↓ Uninstall Magisk module offline/without Magisk? Use mount-magisk.zip found in collection of modules thread and delete the folder via twrp in /magisk Magisk Module Uninstaller Flash in recovery (TWRP) Go to TWRP's Terminal/ADB Shell (if you're not usinf twrp 3.x) Type uninmod_magisk 

Android ze500kl random lose root?

在Magisk 16.6似乎有修正這個bug,原因我忘記了  ASUS_Z00ED = ZE500KL = Z00E 不懂為啥有這麼多編號.... 今天在等火車的時候,發現root又沒了 supersu和root checker都顯示找不到su binary 重開後,root沒回來,xposed的修改都沒了 抓完magisk想刷,想開進recovery沒按好進系統,root又回來了...wtf 10/25 睡醒再次發生,畫面上有goolge play更新的通知 關機後重開解決...大概是root方式有bug 決定換掉supersu用magisk看看 v14可以裝了,以前舊版刷進去都無效,繼續觀察中 magisk還是一樣會發生,電源鍵reboot後恢復 可能相關因素 xposed module update後沒重開 google play更新軟體,或本身 11/7 硬體重開恢復root 猜測跟google play更新有關,關掉instant app看看,反正沒在用

Android app無法使用除錯 (logcat)

我用的是 Logcat Extreme 選這套的原因很簡單,看起來好像顏色很多,有分類就選了 找到使用的程式,看看log試著找出發生了什麼事 如果有error會有紅字,可能就是問題點 也許因為我有程式經驗,很容易看懂 如果看不懂的人,就把log交給作者處理吧 因為Android的權限控管太鬆了,我有裝Xposed做一些限制 line某次改版重開機後就開不起來,閃退 用logcat查後才發現,line要不到藍芽權限就爆炸 權限開放給line就ok了