W: http://dl.google.com/linux/chrome/deb/dists/stable/Release の取得に失敗しました
現象
Ubuntu14.04でapt-get updateしたら下記メッセージが出た。
W: http://dl.google.com/linux/chrome/deb/dists/stable/Release の取得に失敗しました 期待されるエントリ 'main/binary-i386/Packages' が Release ファイル内に見つかりません (誤った sources.list エントリか、壊れたファイル)
apt-get upgradeでも出る。
W: Duplicate sources.list entry http://dl.google.com/linux/chrome/deb/ stable/main amd64 Packages (/var/lib/apt/lists/dl.google.com_linux_chrome_deb_dists_stable_main_binary-amd64_Packages) W: これらの問題を解決するためには apt-get update を実行する必要があるかもしれません
解決方法
パッケージのソースリストから削除するか、コメントアウトするかで直る。
削除
コメントアウト
Androidログライブラリ orhanobut/logger を試す
デフォルトのLogクラスは気が利かないので、 いいライブラリを探してたらこんなの見つけた。
2016/10/23時点でスター数4835
信頼ありそう!
さっそく使ってみよう。
まずはbuild.gradleに追加
dependencies {
compile 'com.orhanobut:logger:1.15'
出力させてみよう Loggerクラスからdメソッドで色々渡してみる
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.content_scrolling); Logger.d("Test comment"); putLog(); } private void putLog() { Logger.e(new Exception(),"エラー"); putJsonLog(); putTagLog(); } private void putJsonLog() { Logger.json("{\"date\":\"10月23日(日)\",\"temperature\":\"32℃[+1] 28℃[-1]\",\"wave\":\"2メートル後1.5メートル\",\"weather\":\"晴後雨\",\"wind\":\"南西の風後北の風\"}"); } private void putTagLog() { Logger.t("TAG").d(this.getClass().getCanonicalName()); } }
出力させた結果
- 線でログを囲ってくれる
- メソッドの階層まで出る
- jsonは自動整形してくれる
線で囲ってくれるのは個人の好みに別れるところですな 俺は気にならないし、見やすいと思うね
少し気に入ったので暫く使ってみよっと
あ、作ったサンプルはGithubにあげたよ GitHub - banbara23/Android-logger-sampe
generate sigend apkでError: Expected resource of type string [ResourceType]
アプリをリリースしようとgenerate sigend apkを実行すると、以下のエラーが出てきた。
Information:Gradle tasks [:app:assembleRelease] /パス/Fragment$$ViewBinder.java Error:(53) Error: Expected resource of type string [ResourceType] Information:1 error Information:0 warnings Information:See complete output in console
解決方法
このリンクによると... stackoverflow.com
以下をapp/build.gradleに追加する
android { lintOptions { disable "ResourceType" } }
エラー消えました、解決!
Information:Gradle tasks [:app:assembleRelease] Information:BUILD SUCCESSFUL Information:Total time: 38.194 secs Information:0 errors Information:0 warnings Information:See complete output in console
MacにJava8をインストール
Android Studio2.1.3にアプデし、compileSdkVersion=24にしてビルドしたところ
# Gradle Console FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:compileDebugJavaWithJavac'. > compileSdkVersion 'android-24' requires JDK 1.8 or later to compile. * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. BUILD FAILED
とエラーになりビルドに失敗した。
Java8をインストールせよ、というのだ。
Java8インストール手順
- Java SE - Downloads | Oracle Technology Network | Oracle
からjdk-8u101-macosx-x64.dmgを取得
JREじゃなくJDKね - jdk-8u101-macosx-x64.dmgを起動してインストール
- terminalから以下のコマンドでjava8になってれば完了
$ java -version java version "1.8.0_101" Java(TM) SE Runtime Environment (build 1.8.0_101-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
古いJavaを消す
j以下のパスに古いJavaがあるので、jdk1.7.0_71.jdkのみを消した
drwxr-xr-x 3 root wheel 102B 7 15 2015 1.6.0.jdk drwxr-xr-x 3 root wheel 102B 11 2 2014 jdk1.7.0_71.jdk
1.6.0.jdkは使うので残した。
UbuntuでAndroidのスクリーンショットを日付ファイル名で保存したい
毎度忘れるのでブロクに記録しておく
まず以下のシェルスクリプトを作成
今回はファイル名をscreenshot.shとした
#!/bin/bash DATE=`date +"%Y-%m-%d-%H-%M-%S"` FILENAME="s-${DATE}.png" echo "capturing ${FILENAME}..." adb shell screencap -p "/sdcard/${FILENAME}" adb pull /sdcard/"${FILENAME}" ~/Pictures/ adb shell rm "/sdcard/${FILENAME}" echo "saved ${FILENAME}."
次に.bashrcにでもaliasを作る
.bashrc
alias sshot="~/tools/screenshot.sh"
保存したらsourceを忘れずに
source .bashrc
あとはターミナルから
sshot
と実行すれば、Picturesディレクトリ内に日付ファイル名でスクショが保存される。
s-2016-08-02-10-35-46.png s-2016-08-02-10-36-04.png
RaspberryPi3ド素人が初めてのLチカ
抵抗って何?というレベルのド素人が、
Lチカまで到達できたので嬉しさのあまり記録
配線
こんな感じ
python
ラズパイのターミナルに
$ python
と打ち込むと対話型モード(インタラクティブモード)となり、1行毎にプログラムを実行できる
以下、1行ずつ入力orコピペで実行
import RPi.GPIO as GPIO //RPi.GPIOモジュールを取り込み GPIO.setmode(GPIO.BCM) //GPIOの端子の選び方の選択 LED1 = 5 //GPIOを選ぶ、GPIO5をLED1にする GPIO.setup(LED1, GPIO.OUT) //LED1を出力、GPIO端子をGPIO番号で選択 GPIO.output(LED1, GPIO.HIGH) //LED1をHIGH(+3.3V)にする、HIGHになるとLED1に電流が流れてLED1が点く GPIO.output(LED1, GPIO.LOW) //LED1をLOW(0V)にする、LOWになるとLED1に電流が流れなくなりLED1が消える GPIO.cleanup() //GPIOの設定を消す、忘れると次に使う時にGPIOが使えなくなる事あり //Pythonを終わる時は exit()
感想
試行錯誤しながら無事にLチカできた!
たかがLEDライト1つ光っただけで、こんなに感動するとは思わなかった(笑)
参考サイト
自分はtechshareのkitを買ったので、配線とpythonプログラムはtechshareのサイトを参考にした。
でも誤字があるので要注意(最後のcleanup(がcleanuoになってる)
対話型モード(インタラクティブモード)
また、電子工作ド素人の自分には部品の説明が必要だったので、以下のサイトが分かりやすかった
テックシェアストア(TechShareStore)
電子工作たのしいねー!