2017年1月1日日曜日

新年のご挨拶

酉年です。
明けましてお目出度う御座います。

暮れに滑り込みでLibreOfficeバグレポートを提出ました。
Ubuntu環境限定なんですが、Writerでテキストボックス作成後に元に戻すとクラッシュするというバグです。
Windows環境では起きないんですけどね。

リブレオフィス関連でもう一つお知らせが有ります。
リブレオフィスは現在新しい5.3.0のベータ版試験期間中です。
その5.3.0で、昨年提出したバグが修正されてます。
有り難う御座いますm( _ _)m
背景色の設定がBasicIDEに反映されへんというバグです。
リブレも少しずつですが良くなっております。

尚、5.3.0はもう暫く試験期間が続きますので、試験に参加しても良ぇよ~という方は(自己責任で)ご協力下さい。
この後ベータ版試験が終わるとリリース候補版試験となり、最後に晴れてリリースとなります。
色々と新しい機能も追加されてますのでお楽しみに!

それでは本年も宜しくお願いします。

2016年11月26日土曜日

アンドロイドアプリのリリース用パッケージを生成する

前回の記事で、Ubuntu上でのアンドロイドアプリ開発環境の構築手順をあメログしました。

一番簡単なデバッグ版の生成手順でしたが、今回はリリース版の手順になります。

リリース版の生成は
$ ant release
で可能なのですが、生成されるパッケージは
HelloWorld-release-unsigned.apk
未署名のパッケージが生成されます。

このままでも問題ないのですが、インストール時にエラーが出たりと面倒なので、アプリに署名を行います。
アプリの署名にはキーストアファイルを生成します。
$ keytool -genkey -v -keystore hello.ks -alias hellokey -validity 10000
キーストアのパスワードや姓名や組織単位や国コード(日本はjp)を適当に入力するとカレントディレクトリにキーストアファイルhello.ksが生成されます。

ant.propertiesにキーストアファイルの設定を行います。
末尾に
key.store=hello.ks
key.store.password=生成時に入力したパスワード
key.alias=hellokey
key.alias.password=生成時に入力したパスワード
を追記します。

これで署名付きアプリ生成の準備が整いました。
$ ant release
でHelloWorld-release.apkが生成されます。

リリース版にはデバック情報が含まれず、ソースの難読化等も行えます。

2016年11月25日金曜日

Ubuntu( 32bit)にAndroid開発環境を構築

あまプロではアンドロイドアプリを開発する授業も行っています。

教室では一万円未満の中古ノートパソコンを使用してますので、数年前の32bitマシンになります。
32bitマシンにAndroid開発環境を構築する際に一手間掛かりますので、あメログ。

あまプロではEdubuntuを使用しています。
なので、Edubuntu16.04( 32bit)に開発環境を構築する手順になります。
必要なパッケージはJDKとAntとAndroidSDKになります。

簡単に説明しますと、
JavaDevelopmentKitはJavaというプログラム言語の開発環境です。AndroidアプリはJavaで記述しますので、これが必要になります。
AntはJavaのビルドツールです。
AndroidSoftwareDevelopmentKitはAndroidの開発環境です。
理論上はめっちゃ頑張ればJDKだけでアンドロイドアプリを開発出来る筈なんですが、手軽に開発環境を構築したいので、上記の三つを用います。

1.JDKのインストール
$ sudo apt-get install default-jdk
デフォルトのJDKはUbuntuのリポジトリに登録されてますので、簡単にこのコマンドでインストール 出来ます。
 インストール後に
$ javac -version
でJDKのバージョンが出力されれば成功です。
2.Antのインストール
 公式サイトからバイナリをダウンロードします。
 現時点の最新版は1.9.7です。
3.任意のパス(階層)に解凍し、そのパスのbinを環境変数へ登録します。
$ unzip apache-ant-1.9.7.zip
例えば/home/user/apache-ant-1.9.7に解凍して
 エディタで環境変数ファイルを開いて
$ vim ~/.profile
 末尾にantのパスを追加します。
export PATH=$PATH:/home/user/apache-ant-1.9.7/bin
5.環境変数ファイルを反映させます。
$ source ~/.profile
反映後に
$ ant -version
でantのバージョンが出力されれば成功です。
4.AndroidSDKのインストール
 公式サイトからバイナリをダウンロードします。
 現時点での最新版は24.4.1です。
5.任意のパス(階層)に解凍し、そのパスのplatform-toolsとtoolsを環境変数へ登録します。
$ tar zxf android-sdk_r24.4.1-linux.tgz
  例えば/home/user/android-sdk-linux/に解凍して
 エディタで環境変数ファイルを開いて
$ vim ~/.profile
末尾のPATHにplatform-toolsとtoolsを追加します。
 export PATH=$PATH:/home/user/apache-ant-1.9.7/bin:/home/user/android-sdk-linux/platform-tools:/home/user/android-sdk-linux/tools
6.環境変数ファイルを反映させます。
$ source ~/.profile
7.platform-toolsの32bit版をインストールします。
 こちらからダウンロードしてAndroidSDKのインストール先に解凍します。
8.SDKマネージャを起動します。
$ android sdk
  Platform-toolsはそのまま23.0.1で、Build-toolsは23.0.3を選択し、インストールします。
  APIはAndroid4.4のSDK Platformをインストールします。
Platform-toolsとBuild-toolsは23.*以上にアップデートするとビルド出来なくなります。
 SDKManagerを起動する度に最新版のPlatform-toolsを薦めてくるんですが、インストールせぇへん様に気を付けて下さい。
 間違えて最新版をインストールしてしまった場合には、再度platform-tools_r23.0.1-linux.zipで上書きして下さい。
9.プロジェクトを生成します。
$ android create project --target android-19 --name HelloWorld --path HelloWorld --activity HelloWorldAct --package sample.helloworld
開発環境が正常に構築されていれば正常にプロジェクトが生成されます。10.HelloWorldプロジェクトディレクトリへ移動して、ビルドします。
$ ant debug
bin配下にHelloWorld-debug.apkパッケージファイルが生成されたら成功です。

おまけ
11.生成したHelloWorld-debug.apkをメールでスマホへ送信したらインストール出来ます。
 事前にセキュリティの設定でを緩くする必要が有ります。
 設定で、提供元不明のアプリにチェックを付けます。
ざっとこんな手順でアンドロイドアプリの環境構築からインストールまで出来る様になります。
ハイスペックマシンの場合はAndroidStudioというIDEを使って開発出来ますが、あまプロはロースペックマシン故にCUIの手順で行っております。

2016年10月26日水曜日

ChromeでRSSを購読する

あまプロではプログラミング教室の他にパソコン教室や各種お困り事の解決のお仕事も承っております。

ブログ等不定期に更新されるサイトにはRSSやAtomという更新通知の機能が備わっています。
あメログにもちゃんと備わっております。

毎回ブログを開かなくても、更新される通知が届くので、届いてからブログを開いたら良いですね
という機能です。

先日、お客さんのブラウザChromeでRSSを購読し様としたんですが、そこでちょっと躓いたのであメログ。

あまプロ標準ブラウザのFirefoxでは初めっからRSS/Atomの購読機能が付いているんですが
Chromeに初めはRSS/Atomの購読機能は付いてへん様です。
ChromeでRSS/Atomを購読するには拡張機能をインストールせなあかん様です。

勉強になるわぁ。

PCからスマホ/タブレットへパスワードを渡す

あまプロでは普段のプログラミング教室の他に、パソコンのお困り事を解決するお仕事を請け負っています。

あまプロはUbuntuを使っており、私のスマホはAndroidなのですが、世の中には色んなOSやアプリが有ります。
お仕事では色んな状況に遭遇する事が有るのであメログ。

最近ではPCとスマホ/タブレット間で同期したり、アプリへ同時アクセスする事が多々有ります。
例えばFacebookとかLineとかWordPressとか…。
アカウントのパスワードを更新するとPC側とスマホ/タブレット側で再ログインする必要が有ります。
あまプロではパスワードの使い回しは非推奨で、パスワード生成ツールを用いてアカウント毎に固有のパスワードを作る事を奨めています。

PC上のパスワード生成ツールで32桁のパスワードを生成したとします。
PCではパスワードをコピペして再ログイン出来ますが、スマホ/タブレットにはコピペ出来ません。
目視で手打で32桁を入力するのはちょっと面倒です…。

そこでどないするか、色々考えてみました。

0.読み取りカメラ手法
 PCでテキストエディタを開き(画面は明るくフォントは大きめに)
スマホ/タブレットの読み取りカメラで読み取ります。
大文字小文字数字記号のパスワードが正しく読み取れてます。
 これをメモ帳登録するとコピペ出来る様になります。
Androidの標準カメラアプリで出来ましたが、OCR(光学読み取り)アプリをインストールするともっと簡単に出来るかもしれません。
1.Bluetoothでファイル送信する手法
 最近のPCやスマホ/タブレットにはBluetoothの短距離無線通信機能が備わっています。
 先ず、PCとスマホ/タブレットでBluetoothを有効にし、
 ペアリング(認証)を実施します
 これでペアリングしたPCとスマホ/タブレット間でファイル送受信が可能になります。
 0の手法と同様に、パスワードをテキストファイルで保存し、
 Bluetoothで送信すると
 スマホ/タブレット側にファイル受信の通知が届きます。
 只、この手法はAndroidでは出来るのですがiPhoneでは出来ない様です。
2.メールでパスワードを記載して下書き保存する手法
 通常メールでは平文(暗号化せずに)でネットワークを経由するので危険と言われています。
 ですが、Gmail等のウェブメールの場合、
 メールを送信せずに、PCから作成したままの状態でパスワードを下書き保存し
 スマホ/タブレットから下書きのメールを開く事で
 メールを送信せずに暗号化された通信でパスワードを受け渡す事が出来ます。
3.各種メッセンジャで自分宛へパスワードを送る手法
 最近のメッセンジャは通信を暗号化して送受信しますので、
 PCから自分宛へパスワードを送り
 スマホ/タブレットでパスワードを受信できます。
 但し、メッセンジャは色々有りまして、中には危険なアプリも存在しますので
 使用するメッセンジャの仕様を確認の上での実施をお薦めします。
4.各種アプリでパスワードをファイル転送する手法
 iPhone/iPadは各種アプリがファイルを管理しているので、
 PCとiPhone/iPadで同じアプリをインストールすればファイルを送受信する事が出来ます。
 例えばiCloudやiTunes等です。
5.その他の手法
 QRコードを生成してカメラで読み取る
 赤外線通信
 USB送信…

何個か考えてみましたが、皆さん遣り易い方法で安全にパスワードを送って下さい。

2016年10月21日金曜日

Ubuntuで不要パッケージの削除について

あまプロではUbuntuを使ってます。

Ubuntuも他のOSと同様に定期的にアップデートが入ります。
Ubuntuはパッケージという単位で管理しており、古くなって使わなくなったパッケージはパソコン内に保持され続けます(残ります)。
今まで(数年間)その古いパッケージは気に留めてなかったんですけど、ふと不要なパッケージを削除してみようと思い立ちました。
Ubuntuは慣例として毎年4月と10月にメジャーバージョンの更新、アップグレードが配布されます。
アップグレードではインストールしている様々なソフトウェアもアップグレードされ…要は沢山更新され、沢山不要なパッケージが残されます。
年二回のアップグレードを数回実行しているので、相当不要パッケージが残っている訳です。

何故そう思ったかと言いますと、apt-get updateした際に
不要なパッケージを'sudo apt autoremove'で削除して下さい。
と表示されてたから。
GUIのソフトウェアの更新では何も表示されなくて、CUIのapt-getでは教えくれるんですね…。

試しに不要パッケージを実行してみると…

ディスクの空き容量が増えました
~$ df -h #びふぉー
Filesystem      Size  Used Avail Use% Mounted on
udev            985M     0  985M   0% /dev
tmpfs           201M  6.6M  194M   4% /run
/dev/sda1        72G   64G  4.0G  95% /
tmpfs          1003M  784K 1003M   1% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs          1003M     0 1003M   0% /sys/fs/cgroup
tmpfs           201M   76K  201M   1% /run/user/1001
~$ df -h #あふたー
Filesystem      Size  Used Avail Use% Mounted on
udev            985M     0  985M   0% /dev
tmpfs           201M  6.6M  194M   4% /run
/dev/sda1        72G   61G  7.2G  90% /
tmpfs          1003M  640K 1003M   1% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs          1003M     0 1003M   0% /sys/fs/cgroup
tmpfs           201M   76K  201M   1% /run/user/1001
3Gも残ってたんや…

日々のアップデート処理が高速になりました
体感ですけど半分位の時間で終わってる気がします。

教訓!
不要なパッケージはこまめ(アップクレード毎くらい)に削除しよう!

2016年10月14日金曜日

LibreOfficeBasicIDE(長いわ!)で背景色を変える

あまプロではUbuntuを使いますので、オフィスソフトはLibreOfficeを使てます
時々マクロ( LibreOfficeBasic)をプログラミングする事が有るんですが、そのエディタ( LibreOfficeBasicIDE)の背景色はデフォルトが白色で、長時間プログラミングするには目が疲れて辛いです…
そこで背景色を黒にして文字色を緑に変えようと思ったんですが…その経緯をあメログ
オプションで「アプリケーションの色」という設定が有ったので、これかな?と思って黒に変更したんですが
BasicIDEには反映されませんでした
Calcには反映されるんですけどね
色々調べたり、MLで訊いてみたりしたんですが、残念ながら現在のLibreOfficeでは対応してへん様です

なので、Bugzillaに103209で登録しておきました
ひょっとしたら今後のリリースで改修されるかも…しれません