読者です 読者をやめる 読者になる 読者になる

Ubuntu14.04にUbuntu-makeでVisual Studio Codeをインストールする

以下の2通りある事が分かったが

  • 実行ファイルをダウンロードして手動で配置する
  • ubuntu-makeを使ってコマンドでインストールする

今回はubuntu-makeでインストールする事にした。

コマンド

ターミナルを開き、以下のコマンドを打ち込む。

sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make
sudo apt-get update
sudo apt-get install ubuntu-make
umake ide visual-studio-code

※umake = ubuntu-makeらしい

起動すると2016/12/6時点で最新版である1.7.2が入っていた。

インストール先

~/.local/share/umake/ide/visual-studio-code

software installation - How to install Visual Studio Code on Ubuntu? - Ask Ubuntu

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 を実行する必要があるかもしれません

解決方法

パッケージのソースリストから削除するか、コメントアウトするかで直る。

削除

sicklylife.hatenablog.com

コメントアウト

apt - duplicate source list entry - Ask Ubuntu

コドモはオトナの父

コドモは空や雲を見るだけで、宇宙や別世界を感じてしまう。 その想像力と創造力はオトナは到底及ばず、またオトナになると風船がしぼむように減ってしまう。

オトナが音楽や絵で感動する事など、そういった趣味の領域はコドモとしての部分でつくられる。

だが、オトナの世界にはコドモ部分は必要ない。 ビジネスはオトナの部分で成立している。

しかし、人生を豊かに彩るのは主にコドモの心である。 自分の中のコドモを消さないよう、大切に育て続けてほしい。

以上、何かで読んで感じ入った事を書いた。

Androidログライブラリ orhanobut/logger を試す

デフォルトのLogクラスは気が利かないので、 いいライブラリを探してたらこんなの見つけた。

github.com

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());
    }
}

出力させた結果

f:id:banbara:20161023112301p:plain

  • 線でログを囲ってくれる
  • メソッドの階層まで出る
  • 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インストール手順

  1. Java SE - Downloads | Oracle Technology Network | Oracle
    からjdk-8u101-macosx-x64.dmgを取得
    JREじゃなくJDK
  2. jdk-8u101-macosx-x64.dmgを起動してインストール
  3. 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