發表文章

目前顯示的是 10月, 2020的文章

用blueStack,夜神模擬器開發app

圖片
模擬器adb連線 不用設定甚麼, 用 adb連線 夜神模擬器 adb connect 127.0.0.1:62001 用adb連線 BlueStacks 需先從設定開啟adb功能(如圖) adb connect 127.0.0.1:5555

初步使用ReactNative個人感覺...

最近工作上用了ReactNative處理APP介面,初學的時候一團混亂,目前算是上手了,覺得其實滿方便的,只是還是撞了很多牆。 新的ReactNative 0.60以上版本有自動連結套件的能力,裝好套件就可直接開始用,所以套件說明寫要做的一大堆步驟其實都是多餘的。 需要用到的keyevent及焦點處理很不方便,希望大神們可以寫好焦點控制套件讓我簡單用就好。 還有很多東西沒搞懂,現階段就覺得寫個長官看UI的POC很快!  用ReactNative開發吃盡了我筆電i5-7200U的效能,建議電腦要超過4核心,硬碟能PCIE SSD最好。 ReactNative調整UI很方便,但是如果你要跟互動就開始麻煩。 很多error訊息搞不太清楚錯誤在哪邊。 JSX看起來就是語法糖,其實用原本JS方法都可以寫得出來,寫出來code就跟flutter樣子類似。 function component跟class component有著不太一樣的思考方式。 小東西用function component寫會比較簡潔; 控制欲強的還是寫class component吧!

修改git commit的author

  發現新電腦設定git設錯e-mail了,只好用 git rebase -i --root 讓git從一開始的commit開始改 然後把每個commit前面都改e 然後 git commit --amend --author="{你的暱稱} <{你的E-mail}>" git rebase --continue 無限迴圈直接結束 據說還有有更快的方法,之後有空再研究了。

RN:Android裝置透過wifi/ethernet連線開發APP

RN官網上有寫到透過usb線開發,是使用adb reverse來完成的。但是透過wifi/ethernet連線的開發方式我是有看沒有懂,所以這裡簡短紀錄一下確認過的做法。 透過wifi/ethernet連線開發APP 首先當然,你要知道android裝置要可以透過wifi/ethernet連線功能;如無法確定,一般都是用usb,如果你的裝置只能usb就請參考官網的解說就好。 0. 將android裝置連線到同一個wifi/ethernet 因為要透過wifi/ethernet,所以要把開發電腦跟android裝置連線到同一個wifi/ethernet,然後到android的wifi網路設定點詳細看一下IP位址。 1. 連線到該裝置 我的目標裝置IP是192.168.1.101,adb的埠號5555。 adb connect 192.168.1.101:5555 2. 確認可進入該裝置 adb shell 若你的電腦有多個adb device,要改用 adb -s 192.168.1.101:5555 shell 若成功後請輸入exit離開該裝置 如果顯示的是無法連到斷線的裝置,表示你的電腦或網路有阻擋連線,請確認已經把adb加入到防火牆白名單 2.1 開啟Win10預設Defender防火嗆 若你的電腦使用Window10預設的Defender,請前往設定>搜尋框輸入"防火牆">選取"允許應用程式透過Windows Defender防火牆通訊">點擊變更設定 找到adb.exe執行檔加入白名單 3. 啟動你的RN應用程式 npm run android 這時你的APP應該會被RN工具裝到你的Android裝置上,並被叫起。不過這時候畫面應該是顯示無法載入bundle。 4. 啟動RN的開發選項並輸入電腦IP及埠號 adb shell input keyevent 82 接著點選進入Dev Settings,點選Debug server host for device。 上面輸入的82其實就是KEYCODE_MENU,可以叫起RN開發選項。 接著在android裝置上輸入你電腦IP和埠號(以我電腦為例是192.168.1.115:8081)。如果你的android裝置不好輸入文字,可以用adb shell in

解決VS Code開java檔案時常跳出的小提示

圖片
解決VS Code開java檔案時常跳出的小提示 這個問題其實困擾的我很久,用VS Code開java檔案時常跳出的右下角小提示,如下圖 寫著: 抱歉啟用適用於Java的IntelliCode支援時發生錯誤,如需詳細資料... Java 11 or more recent is required to run the Java extension. 其實只要這樣做 下載 OpenJDK 11的zip檔案, 解開後放到特定目錄 例如我是放到, C:\tools\java-11-openjdk-11.0.8.10-2 (如果是下載用MSI安裝檔還要改安裝設定,直接zip解開就好) 在VS Code的settings.json中設定java.home "java.home" :  "C: \\ tools \\ java-11-openjdk-11.0.8.10-2" , 重開VS Code, 開java檔案就不會再冒出右下角小提示啦! 編譯Java若要其它版本 如果你要在VS Code底下用其他jdk版本編譯, 就還要設定java.configuration.runtimes,像是下面這樣      "java.configuration.runtimes" : [         {            "name" :  "JavaSE-1.8" ,            "path" :  "C: \\ Program Files \\ Java \\ jdk1.8.0_261" ,            "default" :  true         },         {            "name" : "JavaSE-11" ,            "path" :  "C: \\ tools \\ java-11-openjdk-11.0.8.10-2"         }     ],

設定networkSecurityConfig讓APP可用http存取特定domain

  在用APP測試iot大平台時,有部份api是以http來存取的, android現在版本有限制http的連線, 所以需要加domain才能存取,可參考 官方說明 我這裡用的network_security_config.xml如下 <? xml version ="1.0" encoding ="utf-8" ?> <network-security-config> <base-config> <trust-anchors> <certificates src ="system" /> </trust-anchors> </base-config> <domain-config cleartextTrafficPermitted ="true" > <domain includeSubdomains ="true" > iot.cht.com.tw </domain> </domain-config> </network-security-config> 並在AndroidManifest.xml中的application tag的屬性中加入 android :networkSecurityConfig ="@xml/network_security_config"

SSH免密碼登入

Login build server without password # copy your Workstation ssh public k ey to 10.16.10.30 server for pwd-less login # here is your public key, copy it cat ~/.ssh/id_rsa.pub # login server using your id ssh 帳號@10.16.10.30 # past your public key to the authorized_keys file mkdir .ssh;cd .ssh;touch authorized_keys;vi authorized_keys #  Finally, test the pwd-less ssh login.   reconnect it ssh 帳號@10.16.10.30 from  https://help.github.com/articles/generating-ssh-keys/ https://blog.longwin.com.tw/2005/12/ssh_keygen_no_passwd/

解決ffmpeg無法正常重複播放的問題

解決ffmpeg無法正常重複播放的問題 在-i選項(input)前面增加-stream_loop 重複次數 記住!這個選項寫在後面等於沒寫 預設是只播一次 -stream_loop 0 重複一次 -stream_loop 1 無限重播 -stream_loop -1