/* **************************************************************************** * HOW TO DECIDE WHERE YOUR KEY HANDLING GOES. * * If your key handling must happen before the app gets a crack at the event, * it goes in PhoneWindowManager. * * If your key handling should happen in all windows, and does not depend on * the state of the current application, other than that the current * application can override the behavior by handling the event itself, it * should go in PhoneFallbackEventHandler. * * Only if your handling depends on the window, and the fact that it has * a DecorView, should it go here. * ****************************************************************************/
2020/1/21
frameworks/base/core/java/com/android/internal/policy/PhoneWindow.java 的 onKeyDown 開頭有:
make error : ninja: subcommand failed.
make 出現 ninja: subcommand failed
所以用
所以用
make nothing先產生 combined-xxx.ninja,然後用
ninja -v -j12 -f out/combined-xxx.ninja 2>&1 | tee ninjalog用 -v 命列出完整命令,然後從 ninijalog 來看。
flex-2.5.39: loadlocale.c:130: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' failed.參考Ubuntu 18.04 编译 AOSP 问题总结:
解决方法 : 在编译脚本中执行 export LC_ALL=C LC_ALL=C 是为了去除所有本地化的设置,让命令能正确执行, 但是不可以修改~/.bashrc,会导致终端内中文显示为数字(应该是对应的编码) 作者:BlackJava 链接:https://www.jianshu.com/p/c3bb9d86fd22 来源:简书
2020/1/17
install nvidia driver for pytorch in ubuntu 18.04
最好先去 Pytorch 的網頁看一下支援的版本。
像現在只有支援 cuda 9.2 跟 cuda 10.1
所以去 cuda 的頁面,選 舊release.. 選 10.1
有兩個 update.. 看一下,update 1 好像是完整的 deb,所以下載下來,然後 follow instruction:
cuda 安裝因為加了 apt source,所以 nvidia driver 也會更新,像裝完 cuda10.1 之後,nvidia driver 由 410 更新到 430
20/06/29
Y720 install SSD
這次 follow CUDA Toolkit 10.1 update2 Archive
folloow pytorch gettting start 的 instruction,安裝 miniconda3,create env ,然後run pytorch install command:
但是因為是再 conda env 內安裝,所以這些 package 只有在 env 李才看得到。
20/08/3
再到 Start Locally | PyTorch 去看, (那個selection table)已經可以選 cuda 10.2 了。
follow pytorch install,有安裝 miniconda.
titan rtx 一直有問題,終於,conda install tensorflow-gpu 後,不能動作。
到 nvidia 選 18.04 cuda 11.X 安裝。
結果 driver 要 520
最後一部 apt install cuda 一直 fail,說要nvidia-drvier-520,但是部會裝。
後來,移除 apt.d/sourcelist.d 中 cuda 10.1 的 sources,update 後,purge 完,再做 apt install cuda 才安裝 520 driver....
像現在只有支援 cuda 9.2 跟 cuda 10.1
所以去 cuda 的頁面,選 舊release.. 選 10.1
有兩個 update.. 看一下,update 1 好像是完整的 deb,所以下載下來,然後 follow instruction:
`sudo dpkg -i cuda-repo-ubuntu1804-10-1-local-10.1.168-418.67_1.0-1_amd64.deb` `sudo apt-key add /var/cuda-repo-第二個命令其實在第一個命令完成後會顯示,舊 copy paste and run 舊可以。/7fa2af80.pub` `sudo apt-get update` `sudo apt-get install cuda`
cuda 安裝因為加了 apt source,所以 nvidia driver 也會更新,像裝完 cuda10.1 之後,nvidia driver 由 410 更新到 430
20/06/29
Y720 install SSD
這次 follow CUDA Toolkit 10.1 update2 Archive
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600 sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub sudo add-apt-repository "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /" sudo apt-get update sudo apt-get -y install cuda結果安自動安裝 driver 450
folloow pytorch gettting start 的 instruction,安裝 miniconda3,create env ,然後run pytorch install command:
conda install pytorch torchvision cudatoolkit=10.1 -c pytorch會安裝 python 3.8,和 cudatoolkit-10.1
但是因為是再 conda env 內安裝,所以這些 package 只有在 env 李才看得到。
20/08/3
再到 Start Locally | PyTorch 去看, (那個selection table)已經可以選 cuda 10.2 了。
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600 wget http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda-repo-ubuntu1804-10-2-local-10.2.89-440.33.01_1.0-1_amd64.deb sudo dpkg -i cuda-repo-ubuntu1804-10-2-local-10.2.89-440.33.01_1.0-1_amd64.deb sudo apt-key add /var/cuda-repo-10-2-local-10.2.89-440.33.01/7fa2af80.pub sudo apt-get update sudo apt-get -y install cuda然後 driver 是 440 了..
follow pytorch install,有安裝 miniconda.
titan rtx 一直有問題,終於,conda install tensorflow-gpu 後,不能動作。
到 nvidia 選 18.04 cuda 11.X 安裝。
結果 driver 要 520
最後一部 apt install cuda 一直 fail,說要nvidia-drvier-520,但是部會裝。
後來,移除 apt.d/sourcelist.d 中 cuda 10.1 的 sources,update 後,purge 完,再做 apt install cuda 才安裝 520 driver....
2020/1/14
[4/977] including MINE/my_i2c_utils/Android.mk ... build/make/core/base_rules.mk:139: warning: *** Module name: my_i2c build/make/core/base_rules.mk:140: warning: *** Makefile location: MINE/my_i2c_utils/Android.mk build/make/core/base_rules.mk:141: warning: * build/make/core/base_rules.mk:142: warning: * Module is attempting to use the 'user' tag. This build/make/core/base_rules.mk:143: warning: * used to cause the module to be installed automatically. build/make/core/base_rules.mk:144: warning: * Now, the module must be listed in the PRODUCT_PACKAGES build/make/core/base_rules.mk:145: warning: * section of a product makefile to have it installed. build/make/core/base_rules.mk:146: warning: * build/make/core/base_rules.mk:147: error: user tag detected on module..如果再 MINE/my_i2c_utils/Android.mk 中加入 PRODUCT_PACKAGES += ..
會抱怨說 PRODUCT_PACKAGES 是 read only variable..
2020/1/10
2020/1/8
bye bye debian
跟著升級,用了10年的debian...因為nvidia driver 的關係,最後還是要換ubuntu 了...
先是裝了 server 版(因為手邊正好有...),是console mode,然後加裝 mate-desktop,然後用 nvidia driver 340。
結果 螢幕反應超頓的...
只好改裝 desktop 版,然後改 mate..
tasksel加 mate-desktop 時,ubuntu-desktop 一樣要存在
輸入法 : ibus-chewing
關閉 usb automount : 要用 dconf-editor:
org/mate/desktop/media-handling: automount : off automount-open : off autorun-never : on重新啟動 usb-ethernet , dhcp..
用 networkmanager: /etc/netplan:
network: version: 2 renderer: NetworkManagernetplan apply
這樣就會用 icon 上的 edit network 來設定 網路(卡)
Manual. 值都設定正確才會出現 save button
router 也一樣設定
dnsmasq:
因為系統改用 systemd-resolve
所以dnsmasq 的 dns 功能要關閉 (不然就要把 systemd-resolve 關閉)
dnsmasq 關閉的方法是follow dnsmasq.conf 的說明,把 port=0
/etc/dnsmasq.conf 中把所有的 log 都打開
# For debugging purposes, log each DNS query as it passes through # dnsmasq. log-queries # Log lots of extra information about DHCP transactions. log-dhcp這樣在 /var/log/syslog (dnsmasq 沒有自己的 log file),就會有詳細的...
Jul 6 17:50:26 beaver dnsmasq-dhcp[27344]: DHCP, IP range 172.16.200.1 -- 172.16.200.15, lease time 12h Jul 6 17:50:26 beaver dnsmasq-dhcp[27344]: DHCP, sockets bound exclusively to interface enx00e04c361590 Jul 6 17:50:26 beaver systemd[1]: Started dnsmasq - A lightweight DHCP and caching DNS server. Jul 6 17:51:11 beaver dnsmasq-dhcp[27344]: 819189787 available DHCP range: 172.16.200.1 -- 172.16.200.15 Jul 6 17:51:12 beaver dnsmasq-dhcp[27344]: 819189787 client provides name: Ambarella Jul 6 17:51:12 beaver dnsmasq-dhcp[27344]: 819189787 DHCPREQUEST(enx00e04c361590) 172.16.200.7 4e:2d:27:e0:b9:a8 Jul 6 17:51:12 beaver dnsmasq-dhcp[27344]: 819189787 tags: enx00e04c361590 Jul 6 17:51:12 beaver dnsmasq-dhcp[27344]: 819189787 DHCPACK(enx00e04c361590) 172.16.200.7 4e:2d:27:e0:b9:a8 Ambarella Jul 6 17:51:12 beaver dnsmasq-dhcp[27344]: 819189787 requested options: 1:netmask, 28:broadcast, 2:time-offset, 121:classless-static-route, Jul 6 17:51:12 beaver dnsmasq-dhcp[27344]: 819189787 requested options: 15:domain-name, 6:dns-server, 12:hostname, Jul 6 17:51:12 beaver dnsmasq-dhcp[27344]: 819189787 requested options: 40:nis-domain, 41:nis-server, 42:ntp-server, Jul 6 17:51:12 beaver dnsmasq-dhcp[27344]: 819189787 requested options: 26:mtu, 119:domain-search, 3:router, 121:classless-static-route, Jul 6 17:51:12 beaver dnsmasq-dhcp[27344]: 819189787 requested options: 249, 33:static-route, 252, 42:ntp-server, Jul 6 17:51:12 beaver dnsmasq-dhcp[27344]: 819189787 requested options: 17:root-path Jul 6 17:51:12 beaver dnsmasq-dhcp[27344]: 819189787 next server: 172.16.200.1 Jul 6 17:51:12 beaver dnsmasq-dhcp[27344]: 819189787 sent size: 1 option: 53 message-type 5 Jul 6 17:51:12 beaver dnsmasq-dhcp[27344]: 819189787 sent size: 4 option: 54 server-identifier 172.16.200.1 Jul 6 17:51:12 beaver dnsmasq-dhcp[27344]: 819189787 sent size: 4 option: 51 lease-time 12h Jul 6 17:51:12 beaver dnsmasq-dhcp[27344]: 819189787 sent size: 4 option: 58 T1 6h Jul 6 17:51:12 beaver dnsmasq-dhcp[27344]: 819189787 sent size: 4 option: 59 T2 10h30m Jul 6 17:51:12 beaver dnsmasq-dhcp[27344]: 819189787 sent size: 4 option: 1 netmask 255.255.255.0 Jul 6 17:51:12 beaver dnsmasq-dhcp[27344]: 819189787 sent size: 4 option: 28 broadcast 172.16.200.255 Jul 6 17:51:12 beaver dnsmasq-dhcp[27344]: 819189787 sent size: 4 option: 3 router 172.16.200.1 Jul 6 17:51:12 beaver dnsmasq-dhcp[27344]: 819189787 sent size: 9 option: 12 hostname Amburr
如果是ubuntu 20.04,就用 network-manager 就可以了。
選擇要提供 dhcp 的網卡,ipv4/6 設定選 "share to other computers" 就可以了,其他都不用安裝/設定。
-- 只是 ip range 好像不能設,default 就是 10.24.X.X
2024/01/30
因為 support 的 GLIBC 不夠新,所以 upgrade 到 22.04
用 do_release_upgrade 的方法。
一開始說 broken package : ubuntu-desktop,所以 follow link remove colord, mesa-utils 之後,ubuntu-desktop 也移除,這樣就可以繼續下去...
upgrade 完是 console mode。要安裝 gnome-control-utils 跟 ubuntu-desktop,結果 fail。
發現是 pipewire 的原因。
因為當初 20.04 的 bt handfree 是 failed,要手動安裝 pipewire,所以把所有卡住的 pipewire 和相關 package 都移除。
就可以安裝 gnome-control 跟 ubuntu-desktop,
之後reboot 就是圖形模式了。
因為移除 pulseaudio 和 pipewire,所以到setting 去看,沒有 audio device。
參考: 做這個:
sudo touch /usr/share/pipewire/media-session.d/with-pulseaudio systemctl --user restart pipewire-session-manager沒效,再加上:
pulseaudio -k pulseaudio -Dreboot之後,就出現了。
2020/1/6
Import and build Spydroid-ipcamera
clone spydroid-ipcamera 後,用 Android Studio import 完。
他會 convert 成Grandle Project.
然後出現 Error:
所以要照著他的說明,把 Google Moven repository 加到 build.gradle 的 repository 中..
出現 ..
那個自己產生的 build.grandle(Module:app) 內容是
還有一堆 IOException class 也是。
所以可能要讓他出現 minSdkVersion Error 再刪AndroidManifest.xml,不然他沒辦法產生build.grandle正確的 sdk 版本。
他會 convert 成Grandle Project.
然後出現 Error:
ERROR: Could not find com.android.tools.build:gradle:3.5.3. Searched in the following locations: - https://jcenter.bintray.com/com/android/tools/build/gradle/3.5.3/gradle-3.5.3.pom - https://jcenter.bintray.com/com/android/tools/build/gradle/3.5.3/gradle-3.5.3.jar Required by: project : Add Google Maven repository and sync project Open File這是因為 grandle 之後的版本都在 google,不在 jcenter 了 (可以到 jcenter 去看)。
所以要照著他的說明,把 Google Moven repository 加到 build.gradle 的 repository 中..
buildscript { repositories { google() --- 加上這個 jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.5.3' } } allprojects { repositories { google() --- 這個也加,是等一下 aapt error 時要改的 jcenter() } }改完,Sync 後出現..
ERROR: Minimum supported Gradle version is 5.4.1. Current version is 4.8. Please fix the project's Gradle settings. Fix Gradle wrapper and re-import project Open Gradle wrapper properties Gradle settings選 "Fix Gradle wrapper..." 那一項,會把grandle-wrapper.property 中的版本改為 5.4.1,繼續...
出現 ..
ERROR: The minSdk version should not be declared in the android manifest file. You can move the version from the manifest to the defaultConfig in the build.gradle file. Remove minSdkVersion and sync project Affected Modules: app選 "remove minSdkVersion..." 他會去 search minSdkVersion,找到AndroidManifest.xml,裡面有..
把這個刪掉..
那個自己產生的 build.grandle(Module:app) 內容是
apply plugin: 'com.android.application' android { compileSdkVersion 19 buildToolsVersion "29.0.2" defaultConfig { applicationId "net.majorkernelpanic.spydroid" minSdkVersion 14 targetSdkVersion 19 } buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt' } } } dependencies { compile files('libs/GoogleAdMobAdsSdk-6.1.0.jar') compile files('libs/acra-4.4.0.jar') compile files('libs/android-support-v4.jar') compile files('libs/gcm.jar') compile files('libs/sc-light-jdk15on-1.47.0.2.jar') compile files('libs/scpkix-jdk15on-1.47.0.2.jar') compile files('libs/scprov-jdk15on-1.47.0.2.jar') }SdkVersion 很重要,不能太新,因為裡面的 apache http module 在新版Sdk 已經拿掉了..
還有一堆 IOException class 也是。
所以可能要讓他出現 minSdkVersion Error 再刪AndroidManifest.xml,不然他沒辦法產生build.grandle正確的 sdk 版本。
訂閱:
文章 (Atom)