2015年8月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

最近のトラックバック

最近買った本(Amazon.co.jp)

広告(Amazon.co.jp)

広告(Google AdSense)

無料ブログはココログ

トップページ | 2011年9月 »

2011年8月の記事

2011年8月28日 (日)

Windows入門: エクスプローラーの新規作成の「テキストドキュメント」を復活させる。

とりあえず覚え書き。

いつの間にかエクスプローラーの右クリックメニューにある新規作成の「テキストドキュメント」の表示が「TXT」になっていたので復旧方法をメモしておく。

レジストリエディタを起動し以下のキーを確認する。

HKEY_CLASSES_ROOT\.txt

通常なら以下のようになっているはずである。

名前 種類 データ
(既定) REG_SZ txtfile
Content Type REG_SZ text/plain
PerceivedType REG_SZ text

実際には以下のようになっていた。

名前 種類 データ
(既定) REG_SZ sigiltxt
Content Type REG_SZ text/plain
PerceivedType REG_SZ text

犯人が分かったので、通常時の状態に修正する。

というわけで、無事解決。

以上

2011/09/02 記事のカテゴリーを変更した。

2011年8月27日 (土)

Android入門: 開発マシンにToshiba Regza Tablet(AT300/24C)を接続する。

この記事では開発マシンにToshiba Regza Tablet(AT300/24C)をUSBデバッグモードで接続する方法を説明する。尚、開発マシンにAntoroidデバイスを接続する方法の詳細については、Using Hardware Devicesを参照すること。製造元のUSB Vendor IDなどの情報もここに掲載されている。

AT300/24C側の設定

AT300/24CのUSBの接続モードをデバッグモードに設定する。

  • 設定アプリケーション開発を選択し、USBデバッグのチェックをOnにする。

AT300/24Cの接続

USBドライバを準備してから、開発マシンとAT300/24CをUSBケーブルで接続する。

Linuxの場合

  1. 開発マシンで、AT300/24C用のudev rulesファイルを以下の内容で新規に作成する。

    $sudo vi /etc/udev/rules.d/51-android.rules
    # Toshiba AT300/24C
    SUBSYSTEM=="usb", ATTR{idVendor}=="0930", MODE="0666", GROUP="plugdev"
  2. 開発マシンとAT300/24CをUSBケーブルで接続する。

  3. 開発マシンで、以下のコマンドを実行し、接続したAT300/24Cが表示されることを確認する。

    $cd ~/android-sdk-linux_x86/platform-tools$./adb devices
    List of devices attached 1234567890ABCDE device ←英数字部分はAT300/24Cの固有ID。

Windowsの場合

  1. 前回の記事の「Android SDKのインストール」でGoogle USB Driver packageを選択し、以下のディレクトリにUSBドライバがインストールされていることを確認する。

    <android-sdk-home>\extras\google\usb_driver
  2. このディレクトリの下のandroid_winusb.infファイルを修正し、[Google.NTx86]、及び、[Google.NTamd64]セクションに以下のエントリを追加する。

    [Google.NTx86]
    ;Toshiba AT300/24C
    %SingleAdbInterface%        = USB_Install, USB\VID_0930&PID_7100
    %CompositeAdbInterface%     = USB_Install, USB\VID_0930&PID_7100&MI_01
    
    [Google.NTamd64]
    ;Toshiba AT300/24C
    %SingleAdbInterface%        = USB_Install, USB\VID_0930&PID_7100
    %CompositeAdbInterface%     = USB_Install, USB\VID_0930&PID_7100&MI_01
  3. 開発マシンとAT300/24CをUSBケーブルで接続する。

  4. 新しいハードウェアの検索ウィザードが表示されるので、ドライバの検索場所に上記フォルダを指定してドライバをインストールする。

  5. これにより、デバイスマネージャーに以下のドライバが登録される。

      +-Android Phone
        +-Android Composite ADB Interface
  6. Windows XPの場合、上記デバイスに加えてMTP(Media Transfer Protocol)デバイスが検出され、ドライバのインストールに失敗する事がある。ただし、上記ドライバが正常にインストールされていれば、接続自体に問題はないようだ。

      +-その他のデバイス
        +-?MTP
  7. 開発マシンで、以下のコマンドを実行し、接続したAT300/24Cが表示されることを確認する。

    >cd C:\opt\android-sdk-linux_x86\platform-tools
    >adb devices
    List of devices attached 
    1234567890ABCDE device ←英数字部分はAT300/24Cの固有ID。

以上

2011/08/27 タイトルと本文を大幅に修正した。

2011/09/02 記事のカテゴリーを変更した。

2011年8月26日 (金)

Android入門: Androidの開発環境を作成する。(Linux/Windows対応版)

はじめに

Androidアプリケーションを開発するには、オープンソースの統合開発環境であるEclipseAndroid Developersで配布されているAndroid SDK、及び、Android Development Tools (ADT) Pluginなどが必要となる。この文書では、Linux環境、及び、Windows環境にAndroidの開発環境を作成する方法について説明する。

使用環境

  • Windows 7 Professional SP1

  • Ubuntu 11.04 Desktop 日本語Remix

  • JDK 6 update 27

  • Eclipse 3.7 Indigo + Pleiades 1.3.3

JDKのインストール

Eclipse、及び、Android SDKを使用するには、JAVAの開発環境のJDKが必要となる。ここではJDKのインストール方法について説明する。

尚、7/28にJDK 7がリリースされているが、現時点では安定していないため、JDK 6の最新版を使用する。

ダウンロード

OracleのJAVAのダウンロードページより環境に応じたインストーラーをダウンロードする。また、以降ファイルをダウンロードしたディレクトリを<download_dir>とする。

Linuxの場合

  1. JAVAのダウンロードページより、[Java SE 6 Update 27]→[JDK→Dawnload]を押下する。

  2. ライセンスに同意するため、「(o)Accept License Agreement」項目をチェックする。

  3. 一覧から次のLinux x86版の自己展開インストーラーをダウンローする。

    Product / File Description Java SE Development Kit 6 Update 27 Linux x86 - Self Extracting Installer
    Download jdk-6u27-linux-i586.bin

Windowsの場合

  1. JAVAのダウンロードページより、[Java SE 6 Update 27]→[JDK]→[Dawnload]を押下する。

  2. ライセンスに同意するため、「(o)Accept License Agreement」項目をチェックする。

  3. 一覧から次のWindows x86版のインストーラーをダウンローする。

    Product / File Description Java SE Development Kit 6 Update 27 Windows x86
    Download jdk-6u27-windows-i586.exe

インストール

インストーラーを実行し、適当なディレクトリにJDKをインストールする。以降このディレクトリを<java_home>とする。

Linuxの場合

  1. インストール先はディレクトリ/optの下とする。まずカレントディレクトリをこの下の変更する。

    $ cd /opt
  2. インストール先への書き込みは管理者権限が必要なため、自己展開インストーラーをsudoで実行する。

    $ sudo sh <download_dir>/jdk-6u27-linux-i586.bin
    [sudo] password for user: ←管理者パスワードを入力する。
  3. インストールが成功すると以下のようなメッセージが表示されるので、[Enter]キーを押下してインストーラーを終了する。

    Java(TM) SE Development Kit 6 successfully installed.
    Product Registration is FREE and includes many benefits:
      (中略)
    Press Enter to continue..... ←[Enter]キーを押下する。
    
    Done.
  4. Webブラウザが起動されJDKの登録画面が表示されるが、特に登録する必要はないため、そのままブラウザを終了する。

  5. その結果、以下のディレクトリにJDKがインストールされる。

    /opt/jdk1.6.0_27

Windowsの場合

  1. エクスプローラーからJDKのインストーラーを起動する。

  2. 起動画面で[次へ]ボタンを押下して、インストール機能の選択へ進む。

  3. インストール機能の選択で、「Java DB」のインストールの選択を解除する。

  4. インストール先については全てデフォルトのまま、[次へ]ボタンを押下する。

  5. インストールが成功するとJDKが正常にインストールされたことを示す画面が表示されるので、[完了]ボタンを押下してインストーラーを終了する。

  6. Webブラウザが起動されJDKの登録画面が表示されるが、特に登録する必要はないため、そのままブラウザを終了する。

  7. その結果、以下のディレクトリにJDKがインストールされる。

    C:\Program Files\Java\jdk1.6.0_27

環境変数の設定

JAVAアプリケーションがJDKのツール、及び、ライブラリを見つけられるように、環境変数JAVA_HOME、及び、PATHを設定する。

Linuxの場合

  1. ファイル~/.profileの末尾に以下の内容を追加する。

    $ vi ~/.profile
    # Java Development Kit
    if [ -z "$JAVA_HOME" ] ; then
      JAVA_HOME="/opt/jdk1.6.0_27"; export JAVA_HOME
      PATH="$JAVA_HOME/bin:$PATH"
    fi
  2. 変更を現在の環境に適用する。

    $ source ~/.profile
  3. 以下のコマンドを実行して、環境変数が正しく設定されていることを確認する。

    $ printenv
      :
    JAVA_HOME=/opt/jdk1.6.0_27
      :
    PATH=/opt/jdk1.6.0_27:(省略)
  4. 以下のコマンドを実行して、JDKのコマンドが実行できること、及び、バージョンが正しいことを確認する。

    $ java -version
    java version "1.6.0_27"
    Java(TM) SE Runtime Environment (build 1.6.0_27-b07)
    Java HotSpot(TM) Client VM (build 20.2-b06, mixed mode, sharing)

Windowsの場合

  1. Windows 7/Vistaの場合、[コンピュータ]を右クリック→[プロパティ]→[システムの詳細設定]→[詳細設定]タブをクリック→[環境変数]ボタンを押下し、環境変数ダイアログを表示する。

  2. Windows XPの場合、[マイ コンピューター]を右クリック→[プロパティ]→[詳細設定]タブをクリック→[環境変数]ボタンを押下し、環境変数ダイアログを表示する。

  3. 「システム環境変数」項目の[新規]ボタンを押下し、新しいシステム変数ダイアログを表示する。

  4. 「変数名」と「変数値」に以下の値を入力し、[OK]ボタンを押下して環境変数ダイアログに戻る。

    変数名 JAVA_HOME
    変数値 C:\Program Files\Java\jdk1.6.0_27
  5. 環境変数ダイアログで、「システムの環境変数」一覧から環境変数Pathを選択し[編集]ボタンを押下する。

  6. システム変数の編集ダイアログがオープンされるので、環境変数Pathの値の先頭にJAVA_HOMEの実行ファイルパスを追加する。

    変数名 Path
    変数値 %JAVA_HOME%\bin;(元のPathの値)
  7. 以下のコマンドを実行して、環境変数が正しく設定されていることを確認する。

    > set
      :
    JAVA_HOME=C:\Program Files\Java\jdk1.6.0_27
      :
    PATH=C:\Program Files\Java\jdk1.6.0_27;(省略)
  8. 以下のコマンドを実行して、JDKのコマンドが実行できること、及び、バージョンが正しいことを確認する。

    > java -version
    java version "1.6.0_26"
    Java(TM) SE Runtime Environment (build 1.6.0_27-b07)
    Java HotSpot(TM) Client VM (build 20.2-b06, mixed mode, sharing)

Eclipseのインストール

Eclipseは開発対象に応じていくつかのパッケージが用意されている。Androidアプリケーションの開発ではJAVAの開発環境が必要となるため、ここではEclipseのJAVA用のパッケージをインストールする。また、Linuxの場合、日本語化プラグインのPleiadesのインストール、及び、バージョン管理ツールのSVNプラグインのインストールについても説明する。Windowsの場合、MergeDoc Projectのサイトで日本語化済みのパッケージが配布されているので、こちらをインストールする。

ダウンロード

Linuxの場合、EclipseのサイトからEclipseのJava用のパッケージをダウンロードする。また、MergeDocのサイトから日本語化プラグインPleiadesをダウンロードする。Windowsの場合、MergeDoc ProjectのサイトでEclipseの日本語化済みパッケージが配布されているので、こちらをダウンロードする。また、以降ファイルをダウンロードしたディレクトリを<download_dir>とする。

Linuxの場合

  1. Eclipseのダウンロードページより、パッケージ一覧のヘッダーにある「Eclipse Indigo (3.7) Packages for」項目のドロップダウンリストから「Linux」を選択する。

  2. 「Eclipse IDE for Java Developers」パッケージ右側の[Linux 32 Bit]を押下して、ファイルを適当なディレクトリに保存する。

    eclipse-java-indigo-linux-gtk.tar.gz
  3. MergeDoc Projectのサイトより、「Pleiades 本体ダウンロード」の[1.3.3]を押下して、ファイルを適当なディレクトリに保存する。

    pleiades_1.3.3.zip

Windowsの場合

  1. MergeDoc Prjectのサイトより、「日本語 Eclipse / Pleiades All in One 日本語ディストリビューション (zip ファイル)」の[Eclipse 3.7 Indigo Pleiades All in One]ボタンを押下する。

  2. 「Pleiades All in One 日本語ディストリビューション (zip) ダウンロード」より、パッケージ一覧の[Java/Standard All in One (JRE なし)]の[Download]ボタンを押下して、ファイルを適当なディレクトリに保存する。

    pleiades-e3.7-java_20110704.zip

インストール

ダウンロードしたEclipseのパッケージをインストール先のディレクトリに展開する。Windowsの場合、日本語化済みのパッケージにはPleiadesの他にいくつかのプラグインが最初から含まれているため、展開されるファイルがLinuxの場合よりも多くなる。

Linuxの場合

  1. インストール先はホームディレクトリの下とする。ホームディレクトリにディレクトリeclipse-3.7-javaを作成する。

    $ cd
    $ mkdir eclipse-3.7-java
  2. GNU tarを使用してパッケージを作成したディレクトリの下に展開する。

    $ cd eclipse-3.7-java
    $ tar -xzvf <download_dir>/eclipse-java-indigo-linux-gtk.tar.gz
  3. パッケージを展開すると以下のようなディレクトリ構成となる。尚、以降<user_home>はユーザーのホームディレクトリとする。

    <user_home>/eclipse-3.7-java/
      eclipse/
        .eclipseproduct
        about.html
        about_files/
        artifacts.xml
        configuration/
        dropins/
        eclipse
        eclipse.ini
        epl-v10.html
        features/
        icon.xpm
        libcairo-swt.so
        notice.html
        p2/
        plugins/
        readme/

Windowsの場合

  1. インストール先はC:ドライブのディレクトリ\optの下とする。C:ドライブのルートにディレクトリoptを作成する。

    > C:
    > cd \
    > mkdir opt
  2. 7-zipなどのファイルアーカイバを使用してパッケージをディレクトリC:\optの下に展開する。

    > cd \opt
    > "C:\Program Files\7-Zip\7z.exe" x <download_dir>\pleiades-e3.7-java_20110704.zip
  3. パッケージを展開すると以下のようなディレクトリ構成となる。

    C:\opt\pleiades-e3.7-java\
      .metadata.default\
      eclipse\
        configuration\
        dropins\
        features\
        p2\
        plugins\
        readme\
        .eclipseproduct
        artifacts.xml
        eclipse.exe
        eclipse.exe -clean.cmd
        eclipse.exe startup.cmd
        eclipse.ini
        eclipsec.exe
        jad.exe

日本語化

Linuxの場合、日本語化プラグインのPleiadesをインストールする。Windowsの場合、日本語化済みのパッケージを使用するため、この作業は必要ない。

Linuxの場合

  1. ダウンロードしたPleiadesのパッケージを適当なディレクトリに展開する。この例ではホームディレクトリの下のディレクトリfooに展開している。

    $ cd
    $ mkdir foo
    $ cd foo
    $ unzip <download_dir>/pleiades_1.3.3.zip
  2. 展開されたファイルのうちfeatures、pluginsディレクトリの中身を全て上記でインストールしたEclipseの同名のディレクトリにコピーする。

    $ mv features/* ~/eclipse-3.7-java/eclipse/features/
    $ mv plugins/* ~/eclipse-3.7-java/eclipse/plugins/
  3. Eclipseの設定ファイル(eclipse.ini)の最終行に以下の記述を追加する。

    $ cd ~/eclipse-3.7-java/eclipse
    $ vi eclipse.ini
    -javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar
  4. 日本語化プラグインを初期化するため、-cleanオプションを付けてEclepseを起動する。

    $ ./eclipse -clean
  5. 初回起動時にワークスペースの場所を選択するダイアログが表示されるので、デフォルトのまま[OK]ボタンを押下する。

  6. Eclipseが起動されメニューなどが日本語化されていればPleiadesは正しくインストールされている。

SVNプラグインの追加

Linuxの場合、Eclipseにバージョン管理ツールのSVNプラグインを追加する。Windowsの場合、日本語化済みのパッケージにはSVNプラグインが含まれているため、この作業は必要ない。

Linuxの場合

  1. Eclipseより、ウィンドウメニュー→[設定]を選択する。

  2. 設定ダイアログがオープンされるので、[インストール/更新]→[使用可能なソフトウェア・サイト]を選択する。

  3. 使用可能なソフトウェア・サイトの一覧で、[追加]ボタンを押下する。

  4. サイトの追加ダイアログがオープンされるので、「名前」と「ロケーション」に以下の値を入力し、[OK]ボタンを押下する。

    名前 Subversive SVN Connectors
    ロケーション http://community.polarion.com/projects/subversive/download/eclipse/2.0/update-site/
  5. 設定ダイアログで、[OK]ボタンを押下する。

  6. ヘルプメニュー→[新規ソフトウェアのインストール]を選択する。

  7. インストールダイアログがオープンされるので、「作業対象」項目

    のドロップダウンリストから以下の項目を選択する。

    --全ての使用可能なサイト--
  8. 一覧が表示されたら、以下の項目のチェックボックスをOnにして、[次へ]ボタンを押下する。

    コラボレーション
      Subversive Revision Graph (オプション) (インキュベーション),0.7.9.I20110602-1700
      Subversive SVN 統合 Mylyn プロジェクト (オプション) (作業はインキュベーション),0.7.9.I20110602-1700
      Subversive SVN JDT 無視拡張 (オプション) (インキュベーション),0.7.9.I20110602-1700
      Subversive SVN チーム・プロバイダー (インキュベーション),0.7.9.I20110602-1700
    Subversive SVN コネクター
      Subversive SVN コネクター,2.2.2.I20110715-1700
      SVNKit 1.3.5 実装 (オプション),2.2.2.I20110715-1700
  9. インストールされる項目の一覧が表示されるので、[次へ]ボタンを押下する。

  10. ライセンスのレビューダイアログが表示されるので、以下の項目をチェックして、[完了]ボタンを押下する。

    (o)使用条件の上項に同意します
  11. ソフトウェアのインストールダイアログが表示され、選択したプラグインがダウンロード、及び、インストールされる。尚、インストール中に以下の警告ダイアログが表示された場合、[OK]ボタンを押下してインストールを続行する。

    セキュリティー警告
    [!] 警告:署名なしコンテンツを含むソフトウェアをインストールして
        います。このソフトウェアの真正性または妥当性を実証できません。
        インストールを続行しますか?
  12. インストールが終了し以下の選択ダイアログが表示されたら、[今はしない]ボタンを押下する。

    ソフトウェア更新
    (?) インストール変更内容を有効にするには、Eclipseを再始動する必要が
        あります。再始動せずに、変更を適用することができますが、問題が
        発生する可能性があります。
  13. ファイルメニュー→[終了]を選択しEclipseを終了する。

  14. 日本語化プラグインを初期化するため、-cleanオプションを付けてEclepseを起動する。

    $ ./eclipse -clean

Android SDKのインストール

Android SDKのインストール方法を説明する。まず環境ごとのAndroid SDKの基本パッケージをインストールする。次に基本パッケージに含まれるAndroid SDK and AVD Managerを使用して、開発するのAndroid OSのVersionに対応したSDKのパッケージをインストールする。

ダウンロード

Andoroid DevelopersのサイトダウンロードページからAndroid SDKの基本パッケージをダウンロードする。また、以降ファイルをダウンロードしたディレクトリを<download_dir>とする。

Linuxの場合

  • Android SDKのダウンロードページより、以下のパッケージをダウンロードする。

    Platform Linux (i386)
    Package android-sdk_r12-linux_x86.tgz

Windowsの場合

  • Android SDKのダウンロードページより、以下のパッケージをダウンロードする。

    Platform Windows
    Package android-sdk_r12-windows.zip

インストール

ダウンロードしたパッケージをインストール先のフォルダに展開する。以降このディレクトリを<android_sdk_home>とする。

Linuxの場合

  1. GNU tarを使用してパッケージをホームディレクトリの下に展開する。

    $ cd
    $ tar -xzvf <download_dir>/android-sdk_r12-linux_x86.tgz
  2. パッケージを展開すると以下のようなディレクトリ構成となる。尚、以降<user_home>はユーザーのホームディレクトリとする。

    <user_home>/android-sdk-linux_x86/
      SDK Readme.txt
      add-ons/
      platforms/
      tools/

Windowsの場合

  1. 7-zipなどのファイルアーカイバを使用してパッケージをディレクトリC:\optの下に展開する。

    > c:
    > cd \opt
    > "C:\Program Files\7-Zip\7z.exe" x <download_dir>/android-sdk_r12-windows.zip
  2. パッケージを展開すると以下のようなディレクトリ構成となる。

    C:\opt\android-sdk-windows\
      add-ons\
      platforms\
      tools\
      SDK Manager.exe
      SDK Readme.txt

SDKのダウンロード

Android SDK and AVD Managerを使用して、開発対象のAndroid OSのVersionに対応したSDKのパッケージをダウンロードする。尚、回線速度にも拠るがこの処理は非常に時間がかかるため、ダウンロードするのは必要なパッケージのみに絞った方が良い。この例では、Version 2.1,2.2,2.3.3,3.1のみをダウンロードしている。

Linuxの場合

  1. <android_sdk_home>/toolsの下の以下のコマンドを実行し、Android SDK and AVD Managerを起動する。

    $ cd ~/android-sdk-linux_x86/tools
    $ ./android
  2. 左のメニューで[Available Packages]を選択すると、「Packages available for download」一覧にインストール可能なパッケージの一覧が表示されるので、以下のパッケージを選択して[Install Selected]ボタンを押下する。

    Android Repository
      Android SDK platform-tools
      Documentation for Anfdroid SDK, API 13
      SDK Platform Android 3.1, API 12
      SDK Platform Android 2.3.3, API 10
      SDK Platform Android 2.2, API 8
      SDK Platform Android 2.1, API 7
      Samples for SDK API 12
      Samples for SDK API 10
      Samples for SDK API 8
      Samples for SDK API 7
    Third party Add-ons
      Google Inc.(dl-ssl.google.com)
        Google APIs by Google Inc.,Android API 12
        Google APIs by Google Inc.,Android API 10
        Google APIs by Google Inc.,Android API 8
        Google APIs by Google Inc.,Android API 7
  3. Choose Packages to Installダイアログが表示されるので、「Accept All」ラジオボタンを選択して、[Install]ボタンを押下する。

  4. Installing Archivesダイアログが表示され、選択したパッケージがダウンロード、及び、インストールされる。

  5. インストールの最後に以下の警告ダイアログが表示されるので、[Yes]ボタンを押下してインストールを続行する。

    ADB Restart
    (?) A package that depends on ADB has been updated.
        Do you want to restart ADB now
  6. インストールが終了したら[Close]ボタンを押下して、Installing Archivesダイアログを終了する。

  7. 左のメニューで[Installed packages]を選択すると、インストール済みのパッケージが表示されるので、内容を確認したらタイトルバーの(X)ボタンを押下してAndroid SDK and AVD Managerを終了する。

Windowsの場合

  1. <android_sdk_home>の下の以下のコマンドを実行し、Android SDK and AVD Managerを起動する。

    > cd C:\opt\android-sdk-windows
    > SDK Manager.exe
  2. Choose Packages to Installダイアログが表示されるので、[Cancel]ボタンを押下してAndroid SDK and AVD Managerに戻る。ここで[OK]ボタンを押下すると全パッケージのダウンロードが始まってしまうので注意する。

  3. 左のメニューで[Available Packages]を選択すると、「Packages available for download」一覧にインストール可能なパッケージの一覧が表示されるので、以下のパッケージを選択して[Install Selected]ボタンを押下する。尚、Windows環境で実機を接続する場合、USBドライバが必要なのでGoogle USB Driver packageも選択すること。

    Android Repository
      Android SDK platform-tools
      Documentation for Anfdroid SDK, API 13
      SDK Platform Android 3.1, API 12
      SDK Platform Android 2.3.3, API 10
      SDK Platform Android 2.2, API 8
      SDK Platform Android 2.1, API 7
      Samples for SDK API 12
      Samples for SDK API 10
      Samples for SDK API 8
      Samples for SDK API 7
    Third party Add-ons
      Google Inc.(dl-ssl.google.com)
        Google APIs by Google Inc.,Android API 12
        Google APIs by Google Inc.,Android API 10
        Google APIs by Google Inc.,Android API 8
        Google APIs by Google Inc.,Android API 7
        Google USB Driver package
  4. Choose Packages to Installダイアログが表示されるので、「Accept All」ラジオボタンを選択して、[Install]ボタンを押下する。

  5. Installing Archivesダイアログが表示され、選択したパッケージがダウンロード、及び、インストールされる。

  6. インストールの最後に以下の警告ダイアログが表示されるので、[Yes]ボタンを押下してインストールを続行する。

    ADB Restart
    (?) A package that depends on ADB has been updated.
        Do you want to restart ADB now
  7. インストールが終了したら[Close]ボタンを押下して、Installing Archivesダイアログを終了する。

  8. 左のメニューで「Installed packages」を選択すると、インストール済みのパッケージが表示されるので、内容を確認したらタイトルバーの[X]ボタンを押下してAndroid SDK and AVD Managerを終了する。

ADT Pluginのインストール

Android Development Tools (ADT) Pluginのインストール方法について説明する。

  1. Eclipseを起動する。

    Linuxの場合

    $ cd ~/eclipse-3.7-java/eclipse
    $ ./eclipse

    Windowsの場合

    $ c:
    $ cd \opt\eclipse-3.7-java\eclipse
    $ eclipse.exe
  2. Eclipseより、ウィンドウメニュー→[設定]を選択する。

  3. 設定ダイアログがオープンされるので、[インストール/更新]→[使用可能なソフトウェア・サイト]を選択する。

  4. 使用可能なソフトウェア・サイトの一覧で、[追加]ボタンを押下する。

  5. サイトの追加ダイアログがオープンされるので、「名前」と「ロケーション」項目に以下の値を入力し、[OK]ボタンを押下する。

    名前 ADT Plugin
    ロケーション https://dl-ssl.google.com/android/eclipse/
  6. 設定ダイアログで、[OK]ボタンを押下する。

  7. ヘルプメニュー→[新規ソフトウェアのインストール]を選択する。

  8. インストールダイアログがオープンされるので、「作業対象」のドロップダウンリストから以下の項目を選択する。

    ADT Plugin - https://dl-ssl.google.com/android/eclipse/
  9. 一覧が表示されたら、以下の項目のチェックボックスをOnにして、[次へ]ボタンを押下する。

    開発ツール
      Android DDMS
      Android 開発ツール
      Android Hierarchy Viewer
      Android Traceview
  10. インストールされる項目の一覧が表示されるので、[次へ]ボタンを押下する。

  11. ライセンスのレビューダイアログが表示されるので、以下の項目をチェックして、[完了]ボタンを押下する。

    (o)使用条件の上項に同意します
  12. ソフトウェアのインストールダイアログが表示され、選択したプラグインがダウンロード、及び、インストールされる。尚、インストール中に以下の警告ダイアログが表示された場合、[OK]ボタンを押下してインストールを続行する。

    セキュリティー警告
    [!] 警告:署名なしコンテンツを含むソフトウェアをインストールして
        います。このソフトウェアの真正性または妥当性を実証できません。
        インストールを続行しますか?
  13. インストールが終了し以下の選択ダイアログが表示されたら、[今はしない]ボタンを押下する。

    ソフトウェア更新
    (?) インストール変更内容を有効にするには、Eclipseを再始動する必要が
        あります。再始動せずに、変更を適用することができますが、問題が
        発生する可能性があります。
  14. ファイルメニュー→[終了]を選択しEclipseを終了する。

  15. 日本語化プラグインを初期化するため、-cleanオプションを付けてEclepseを起動する。

    Linuxの場合

    $ ./eclipse -clean

    Windowsの場合

    > eclipse.exe -clean.cmd
  16. Eclipseより、ウィンドウメニュー→[設定]を選択する。

  17. 設定ダイアログがオープンされるので、[Android]を選択する。

  18. 「Android 設定」の「SDKロケーション」項目に<android_sdk_home>を設定し、[OK]ボタンを押下する。

    Linuxの場合

    <user_home>/android-sdk-linux_x86

    Windowsの場合

    C:\opt\android-sdk-windows
  19. 設定ダイアログで、[OK]ボタンを押下する。

以上

2011/08/26 新規作成。
2011/08/27「開発マシンとAndroidデバイスの接続」を別記事に分割した。
2011/09/02 記事のカテゴリーを変更した。
2011/09/19 記事の誤字と間違いを修正した。

2011年8月25日 (木)

PowerShell入門: 複数ファイルの中の文字列を一括変換する。

とりあえず、覚え書き。

最近のGNU sedには-i(--in-place)オプションというのが追加されていて、オリジナルファイルに処理結果を上書きすることができる。 たとえば、ディレクトリOEBPS配下の全てのhtmlファイルについて、html要素にxml:lang="ja"属性を追加したいときは、以下のコマンドを実行すれば良い。

$ find OEBPS -name '*.html'|xargs sed -i -e's/^<html/<html xml:lang="ja"/'

前回の記事について、Windows環境でも同様の処理を行う必要があったため、最近流行(?)のPowerShellで一行コマンドを作成してみた。 上記の例の場合、以下のコマンドを実行すれば良い。(実際には一行で入力すること。)

PS> gci -r -i *.html OEBPS|
  %{(gc -en UTF8 $_)|%{$_ -replace'^<html','<html xml:lang="ja"'}|sc -en UTF8 $_}

この例では対象のファイルが全て上書きされるのが前提だが、置換対象の文字列を含むファイルのみを上書きしたい場合は、以下のようにSelect-Stringを挟めば良い。

PS> $f='^<html';gci -r -i *.html OEBPS|Select-String $f -List|
  %{(gc -en UTF8 $_.Path)|%{$_ -replace$f,'<html xml:lang="ja"'}|sc -en UTF8 $_.Path}

説明

  • gci(Get-ChildItem)で、ディレクトリ配下から指定したパターンに一致するファイルを取得する。

  • Select-Stringで、置換対象のパターンを含むファイルのみを取得する。Select-StringはMatchInfo オブジェクトを返すため、後の処理では$_.Pathでパス名を取得している。また、デフォルトでは大文字と小文字は区別されないため、区別したいときは-CaseSensitiveオプションを追加する。

  • 最初の%(ForEach-Object)ブロックにて、ファイルを一つずつ処理する。

  • gc(Get-Content)で、ファイルの中身を取得する。尚、gcを丸括弧で囲むことで、ファイルの中身を一度に読み込んでオブジェクトが生成される。これにより、scでファイルを上書きするときにファイルが使用中でエラーになるのを回避する。

  • 次の%(ForEach-Object)ブロックで、ファイルを一行ずつ処理する。

  • -replace演算子で、置換対象の文字列を置換する。尚、デフォルトでは-replaceは小文字と大文字を区別しない。区別するには-creplaceを使用する。また、区別しないことを明示するには-ireplaceを使用する。

  • ファイルの中身がUTF-8のため、gcとscに-en UTF8オプションを指定する。

以上

2011/08/26 記事のタイトル、及び、本文の説明を修正した。
2011/09/02 記事のカテゴリーを変更した。
2011/09/07 Select-Stringの記述を追加、及び、説明を修正した。
2011/09/21 記事のリンク、及び、説明を修正した。

2011年8月24日 (水)

DocBook入門: DocBookで各種文書を作成する。

はじめに

DocBookは技術文書のための意味マークアップ言語である。当初はコンピュータのハードウェア、及び、ソフトウェアの技術文書を意図していたが、その他いろいろな文書を作成できる。

DocBookなら表示フォーマットに依存しない論理的な構造をもつ文書を作成できる。このような文書はオリジナルを修正せずにHTMLXHTMLEPUBPDFman pagesHTML Helpなどいろいろなフォーマットで出力できる。

現在のDocBookのバージョンは5.0で、RELAX NGスキーマで定義されたXMLで記述する。(他にはW3C XML スキーマ、Document Type Definition (DTD)スキーマを使用できるが、これらは標準ではない。)

DocBookはXML文書なので、一般的なテキストエディタで編集できる。DocBookは一般的なスキーマ言語でスキーマを提供しているので、スキーマによる補完が可能なXMLエディタならDocBookの補完もできる。いくつかグラフィカルなXMLエディタでは、ワードプロセッサのようにDocBookを編集できる。

DocBookは明確に定義されたスキーマに準拠するXML文書であるため、検証、及び、処理にXMLをサポートする一般的なツール、及び、プログラミング言語を使用できる。

DocBookファイルをいろいろなフォーマットの出力ファイルに変換するには、Extensible Stylesheet Language (XSL)という技術を使用する。これは次の三つの部分で構成される。

  • XSL Transformation (XSLT)

    XML文書を他のXML文書(XHTML、XSL-FOなど)、または、XML以外のフォーマット(HTML、Plain Textなど)に変換するためのXML言語。

  • XSL Formatting Objects (XSL-FO)

    ML文書を視覚的なフォーマット(PDF、その他の印刷可能なフォーマット)に変換するためのXML言語。

  • XML Path Language (XPath)

    XML言語ではないがXSLTでXML文書の特定の部分を指定するための言語構文。

この文書では、XSLTとXPathプロセッサの実装であるApache Xalan、XSL-FOプロセッサの実装であるApache FOP、及び、DocBook用のXSLスタイルシートであるDocBook XSL Stylesheetsについて、インストール、及び、基本的な使用方法を説明する。ただし、DocBook文書を編集するためのXMLエディタについては説明しない。

前準備

Apache Xalan、及び、Apache FOPはJAVAアプリケーションのため、実行するにはJAVAの実行環境(JRE)、または、開発キット(JDK)が必要となる。よって、必要に応じてJAVAのJRE、または、JDKをインストールしておく。尚、7/28にJRE/JDK 7がリリースされているが、現時点では安定していないため、JRE/JDK 6の最新版を使用すること。

Windows環境では、7-zipなどのzip形式に対応したファイルアーカイバを用意する。

PDF文書を表示するために適当なビューワーを用意する。Linux環境ではEvince、Windows環境ではAdobe Readerなど。

EPUB文書を表示するために適当なビューワーを用意する。Linux環境ではFBReader、Windows環境ではAdobe Digital Editionsなど。

Apache FOPのインストール

Apache Xalanは、XSLTとXPathの実装の一つでApache Xalan Projectにより開発されている。また、Apache FOPは、XSL-FO プロセッサの実装の一つでApache XML Graphics Projectにより開発されている。

Apache FOPのパッケージにはApache Xalanが含まれているため、ここではApache-FOPのインストール方法を説明する。

ダウンロード

ダウンロードサイトから最新版のバイナリパッケージをダウンロードする。Binary DownloadのFOP Distribution mirrorリンクからミラーサイト一覧に移動できるので、適当なミラーサイトから以下のパッケージをダウンロードする。

<mirror-top>/xmlgraphics/fop/binaries/
    fop-1.0-bin.zip

パッケージの展開

ダウンロードしたパッケージを適当なディレクトリに展開する。以降このディレクトリを<fop-home>とする。

Linuxの場合

unzipを使用してパッケージを以下のディレクトリに展開する。

$ sudo unzip fop-1.0-bin.zip -d /opt/

Windowsの場合

7-zipなどのファイルアーカイバを使用してパッケージを以下のディレクトリに展開する。

> "C:\Program Files\7-Zip\7z.exe" x -oC:\opt\ fop-1.0-bin.zip

動作確認

Apache FOPでサンプルファイル(readme.fo)を画面に表示する。これにより、ビューワーが起動されReadmeが表示されれば、Apache FOPは正しくインストールされている。

Linuxの場合

コマンドプロンプトから<fop-home>ディレクトリに移動して、以下のコマンドを実行する。

$ cd /opt/fop-1.0
$ ./fop -fo examples/fo/basic/readme.fo -awt

Windowsの場合

コマンドプロンプトから<fop-home>ディレクトリに移動して、以下のコマンドを実行する。

> cd C:\opt\fop-1.0
> fop -fo examples/fo/basic/readme.fo -awt

DocBook XSL Stylesheetsのインストール

DocBook文書を他のフォーマットに変換するには、フォーマットに応じたXSLスタイルシートが必要となる。ここではThe DocBook Projectから配布されているDocBook XSL Stylesheetsを使用する。

ダウンロード

ダウンロードサイトから最新版のパッケージをダウンロードする。現時点では以下のパッケージが最新版となる。尚、ファイル名の"ns"はNamespace対応版という意味である。DocBook Ver.5.0以降ではこちらを使用する。

http://sourceforge.net/projects/docbook/files/docbook-xsl-ns/1.76.1/
  docbook-xsl-ns-1.76.1.zip

インストール

ダウンロードしたパッケージを適当なディレクトリに展開する。パッケージの中には、install.shなどのインストール用のスクリプトがあるが今回は使用しない。

Linuxの場合

unzipを使用してパッケージを以下のディレクトリに展開する。

$ sudo unzip docbook-xsl-ns-1.76.1.zip -d /opt/

Windowsの場合

7-zipなどのファイルアーカイバを使用してパッケージを以下のディレクトリに展開する。

> "C:\Program Files\7-Zip\7z.exe" x -oC:\opt\ docbook-xsl-ns-1.76.1.zip

DocBook文書の作成

テキストエディタを使用して、sample.xmlファイルを以下の内容で作成する。このとき、保存時の文字コードは必ずUTF-8とすること。例えば、Windowsのメモ帳であればファイルメニュー→名前を付けて保存で文字コードを選択できる。尚、改行コードはLF、CR+LFどちらでも問題ない。

<?xml version="1.0" encoding="utf-8"?>
<article version="5.0" xmlns="http://docbook.org/ns/docbook">
  <info>
    <title>DocBook文書から各種文書を作成する。</title>
  </info>
  <section>
    <title>Sample 1</title>
    <para>Hello World!</para>
  </section>
  <section>
    <title>サンプル2</title>
    <para>こんにちは世界!</para>
  </section>
</article>

DocBook文書からHTML文書の作成

Apache XalanとXSLスタイルシートを使用して、DocBook文書からHTML文書を作成する方法を説明する。

スタイルシートの作成

HTML文書用のXSLスタイルシートを作成する。実際には最初に予めインストールしたDocBook XSLのHTML用のスタイルシートを読み込み、その後変更するパラメータのみを記述する。

Linuxの場合

テキストエディタを使用して、docbook_html_linux.xslファイルを以下の内容で作成する。

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version='1.0' xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:import href="file:///opt/docbook-xsl-ns-1.76.1/html/docbook.xsl"/>
  <xsl:output method="html" encoding="utf-8" indent="yes"/>
  <xsl:param name="l10n.gentext.default.language">ja</xsl:param>
</xsl:stylesheet>

Windowsの場合

テキストエディタを使用して、docbook_html_windows.xslファイルを以下の内容で作成する。

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version='1.0' xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:import href="file:///C:/opt/docbook-xsl-ns-1.76.1/html/docbook.xsl"/>
  <xsl:output method="html" encoding="utf-8" indent="yes"/>
  <xsl:param name="l10n.gentext.default.language">ja</xsl:param>
</xsl:stylesheet>

各パラメータの意味は以下の通り。

  • 3行目

    DocBook XSLのHTML用のスタイルシートを読み込む。

  • 4行目

    出力形式をHTML、エンコーディングをUTF-8、及び、出力結果をインデントする。

  • 5行目

    自動生成される文字列を日本語仕様とする。これにより、"Table of Contents"や"Chapter"などが"目次"や"章"などの日本語で出力される。

Apache Xalan起動用スクリプトの作成

DocBook文書からHTML文書を生成するにはApache Xalanを使用する。ただし、コマンド実行する度に長いCLASSPATHなどを毎回タイプするのは面倒なので、まずは起動用のスクリプトを作成する。

Linuxの場合

<fop-home>ディレクトリの下にxalanスクリプトを以下の内容で作成する。

$ cd /opt/fop-1.0
$ sudo vi xalan
#!/bin/sh
#
# Excecute Xalan-Java.
#
FOP_HOME=`dirname $0`

LOCALCLASSPATH=

DIRLIBS=${FOP_HOME}/lib/*.jar
for i in ${DIRLIBS}
do
    if [ "$i" != "${DIRLIBS}" ] ; then
      if [ -z "$LOCALCLASSPATH" ] ; then
        LOCALCLASSPATH=$i
      else
        LOCALCLASSPATH=$LOCALCLASSPATH:"$i"
      fi
    fi
done

java -cp $LOCALCLASSPATH org.apache.xalan.xslt.Process $@
$ sudo chmod a+x xalan

Windowsの場合

<fop-home>ディレクトリの下にxalan.cmdスクリプトを以下の内容で作成する。

@echo off
rem
rem Excecute Xalan-Java.
rem
SETLOCAL ENABLEDELAYEDEXPANSION

set LOCAL_FOP_HOME=%~dp0
set LIBDIR=%LOCAL_FOP_HOME%\lib

for %%i in (%LIBDIR%\*.jar) do set LOCALCLASSPATH=!LOCALCLASSPATH!;%%i

java -cp %LOCALCLASSPATH% org.apache.xalan.xslt.Process %*

ENDLOCAL

HTML文書の作成

xalanスクリプトからApache Xalanを実行し、XML文書(sample.xml)にスタイルシートを適用してHTML文書(sample.html)を作成する。

Linuxの場合

コマンドラインから以下のコマンドを実行する。

$ /opt/fop-1.0/xalan -xsl docbook_html_linux.xsl -in sample.xml -out sample.html

Windowsの場合

コマンドラインから以下のコマンドを実行する。

> C:\opt\fop-1.0\xalan.cmd -xsl docbook_html_windows.xsl -in sample.xml -out sample.html

以下に作成されたHTML文書をWEBブラウザで表示した結果を示す。

図1 HTML文書の表示例

Sample_html

DocBook文書からPDF文書の作成

Apache FOPとXSLスタイルシートを使用して、DocBook文書からPDF文書を作成する方法を説明する。

設定ファイルの作成

Apache FOPはデフォルトではPDF出力時に日本語フォントを検索しないため、そのままではPDF文書の日本語が全て#記号に化けてしまう。Apache FOPに日本語フォントを検索させるため、fop_fonts.xconfファイルを以下の内容で作成し実行時に指定する。

<?xml version="1.0" encoding="utf-8"?>
<fop version="1.0">
  <renderers>
    <renderer mime="application/pdf">
      <fonts>
        <auto-detect/>
      </fonts>
    </renderer>
  </renderers>
</fop>

パラメータの意味は以下の通り。

  • 6行目

    PDF出力時にOSにインストールされているフォントを自動検出する。

スタイルシートの作成

XSL-FO文書用のXSLスタイルシートを作成する。実際には最初に予めインストールしたDocBook XSLのXSL-FO用のスタイルシートを読み込み、その後変更するパラメータのみを記述する。

Linuxの場合

テキストエディタを使用して、docbook_fo_linux.xslファイルを以下の内容で作成する。

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version='1.0' xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:import href="file:///opt/docbook-xsl-ns-1.76.1/fo/docbook.xsl"/>
  <xsl:param name="l10n.gentext.default.language">ja</xsl:param>
  <xsl:param name="ulink.show" select="0"/>
  <xsl:param name="paper.type">A4</xsl:param>
  <xsl:param name="hyphenate">false</xsl:param>
  <xsl:param name="title.font.family">TakaoExGothic</xsl:param>
  <xsl:param name="body.font.family">TakaoExMincho</xsl:param>
  <xsl:param name="monospace.font.family">TakaoMincho</xsl:param>
</xsl:stylesheet>

Windowsの場合

テキストエディタを使用して、docbook_fo_windows.xslファイルを以下の内容で作成する。

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version='1.0' xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:import href="file:///C:/opt/docbook-xsl-ns-1.76.1/fo/docbook.xsl"/>
  <xsl:param name="l10n.gentext.default.language">ja</xsl:param>
  <xsl:param name="ulink.show" select="0"/>
  <xsl:param name="paper.type">A4</xsl:param>
  <xsl:param name="hyphenate">false</xsl:param>
  <xsl:param name="title.font.family">MS PGothic</xsl:param>
  <xsl:param name="body.font.family">MS PMincho</xsl:param>
  <xsl:param name="monospace.font.family">MS Mincho</xsl:param>
</xsl:stylesheet>

各パラメータの意味は以下の通り。

  • 3行目

    DocBook XSLのXSL-FO用のスタイルシートを読み込む。

  • 4行目

    自動生成される文字列を日本語仕様とする。これにより"Table of Contents"や"Chapter"などが"目次"や"章"などの日本語で出力される。

  • 5行目

    デフォルトではリンクを設定した文字列の直後にリンク先のURIが展開されるが、これを抑制する。

  • 6行目

    出力サイズをA4とする。

  • 7行目

    ハイフネーションを無効にする。日本語を使用する場合、実行時にハイフネーションのエラーが出るのでそれを抑制する。

  • 8行目

    タイトルのフォントを指定する。Linuxの場合、TakaoExゴシック、Windowsの場合、MS Pゴシックとする。

  • 9行目

    本文のフォントを指定する。Linuxの場合、TakaoEx明朝、Windowsの場合、MS P明朝とする。

  • 10行目

    プログラムリストなどの等倍フォントを指定する。Linuxの場合、Takao明朝、Windowsの場合、MS明朝とする。

PDF文書の生成

Apache FOPを実行し、XML文書(sample.xml)にスタイルシートを適用してPDF文書(sample.pdf)を作成する。

内部的には、まずApache XalanとXSLスタイルシートを使用して、DocBook文書からXSL-FO文書が作成される。さらにApache FOPにより、XSL-FO文書からPDF文書が作成される。今回の例ではこの動作は一連で実行されるが、個別に実行することもできる。

Linuxの場合

コマンドラインから以下のコマンドを実行する。

$ /opt/fop-1.0/fop -c fop_fonts.xconf -xsl docbook_fo_linux.xsl -xml sample.xml -pdf sample.pdf

Windowsの場合

コマンドラインから以下のコマンドを実行する。

> C:\opt\fop-1.0\fop -c fop_fonts.xconf -xsl docbook_fo_windows.xsl -xml sample.xml -pdf sample.pdf

以下に作成されたPDF文書をAdobe Readerで表示した結果を示す。

図2 PDF文書の表示例

Sample_pdf

DocBook文書からEPUB文書の作成

Apache XalanとXSLスタイルシートを使用して、DocBook文書からEPUB文書を作成する方法を説明する。

スタイルシートの作成

EPUB文書用のXSLスタイルシートを作成する。実際には最初に予めインストールしたDocBook XSLのEPUB用のスタイルシートを読み込み、その後変更するパラメータのみを記述する。

Linuxの場合

テキストエディタを使用して、docbook_epub_linux.xslファイルを以下の内容で作成する。

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version='1.0' xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:import href="file:///opt/docbook-xsl-ns-1.76.1/epub/docbook.xsl"/>
  <xsl:output method="xml" encoding="utf-8" indent="yes"/>
  <xsl:param name="l10n.gentext.default.language">ja</xsl:param>
</xsl:stylesheet>

Windowsの場合

テキストエディタを使用して、docbook_epub_windows.xslファイルを以下の内容で作成する。

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version='1.0' xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:import href="file:///C:/opt/docbook-xsl-ns-1.76.1/epub/docbook.xsl"/>
  <xsl:output method="xml" encoding="utf-8" indent="yes"/>
  <xsl:param name="l10n.gentext.default.language">ja</xsl:param>
</xsl:stylesheet>

各パラメータの意味は以下の通り。

  • 3行目

    DocBook XSLのEPUB用のテンプレートを読み込む。

  • 4行目

    出力形式をXML、エンコーディングをUTF-8、及び、出力結果をインデントする。

  • 5行目

    自動生成される文字列を日本語仕様とする。これにより"Table of Contents"や"Chapter"などが"目次"や"章"などの日本語で出力される。

EPUBファイルの作成

xalanスクリプトからApache Xalanを実行し、XML文書(sample.xml)にスタイルシートを適用してEPUB文書の中身となるファイルを作成する。尚、xalanスクリプトについては、上記「Apache Xalan起動用スクリプトの作成」を参照すること。

Linuxの場合

コマンドラインから以下のコマンドを実行する。

$ /opt/fop-1.0/xalan -xsl docbook_epub.xsl -in sample.xml

Windowsの場合

コマンドラインから以下のコマンドを実行する。

> C:\opt\fop-1.0\xalan.cmd -xsl docbook_epub.xsl -in sample.xml

これにより、XML文書(sample.xml)から以下のフォルダ、及び、ファイルが作成される。

META-INF/
  container.xml
OEBPS/
  ar01s02.html
  content.opf
  index.html
  toc.ncx

EPUBファイルの修正

作成されたファイルはこのままEPUB文書にアーカイブするとAdobe Digital Editionsでは日本語が文字化けするため、OEBPSフォルダの下の全てのHTMLファイルのhtml要素にxml:lang="ja"属性を追加する。

修正前

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    :

修正後

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xml:lang="ja" xmlns="http://www.w3.org/1999/xhtml">
    :

Linuxの場合

コマンドラインから以下のコマンドを実行する。

$ find OEBPS -name '*.html' | xargs sed -i -e's/^<html/<html xml:lang="ja"/'

Windowsの場合

PowerShellのコマンドラインから以下のコマンドを実行する。(実際には一行で入力すること。)

> powershell
PS> gci -r -i *.html OEBPS|
  %{(gc -en UTF8 $_)|%{$_ -replace'^<html','<html xml:lang="ja"'}|sc -en UTF8 $_}

EPUB文書の作成

EPUB文書はEPUB Open Container Format (OCF)という形式で作成する。mimetypeファイルを以下の内容で作成し、META-INF、OEBPSフォルダ、及び、配下のファイルをOCF ZIPコンテナと呼ばれる形式にアーカイブする。このとき拡張子はepubとする。尚、mimetypeファイルをアーカイブするさいに、以下の条件を満たす必要がある。

  • mimetypeファイルはコンテナの最初のファイルであること。

  • mimetypeファイルの内容はapplication/epub+zipとし、余計な空白文字や制御文字を含めないこと。

  • mimetypeファイルは無圧縮、かつ、暗号化なしで、Local File HeaderにExtra Fieldが存在しないこと。

Linuxの場合

zipを使用してEPUB文書を作成する。

$ echo "application/epub+zip" > mimetype
$ zip -X0 sample.epub mimetype
$ zip -rX9 sample.epub META-INF OEBPS

Windowsの場合

7-zipなどのファイルアーカイバを使用してEPUB文書を作成する。ただし、7-zipではmimetypeファイルが先頭にならないため、epub文書の仕様を満たしていない。

> echo application/epub+zip > mimetype
> "C:\Program Files\7-Zip\7z.exe" a -tzip sample.epub mimetype -mx0
> "C:\Program Files\7-Zip\7z.exe" a -tzip sample.epub META-INF OEBPS -mx9

以下に作成されたPDF文書をAdobe Digital Editionsで表示した結果を示す。

図3 EPUB文書の表示例(ページ1)

Sample_epub_1

図4 EPUB文書の表示例(ページ2)

Sample_epub_2

以上

2011/08/26 記事のタイトルを修正した。

2011/09/02 記事のカテゴリーを変更した。

2011/09/05 EPUB文書の作成の記述を修正した。

2011年8月16日 (火)

EXCEL入門: 時間を切り上げ、切り捨て、四捨五入する。

とりあえず覚え書き。

EXCELには CEILING(),FLOOR(),MROUND()など、数値を指定された値の倍数になるように切り上げ、切り捨て、四捨五入する関数があるが、この倍数に時間を"0:05"などのように指定すると時間を丸めることができる。

使用例

 AB:数式B:結果
18:43 =MROUND(A1,"0:05") 8:45
29:15 =MROUND(A2,"0:05") 9:15
310:21 =MROUND(A3,"0:05") 9:20

以上

2011/09/02 記事のカテゴリーを変更した。

2011年8月11日 (木)

Touch Diamond(S21HT)にAndroidをインストールする。

はじめに

XDAndroid Projectというプロジェクトでは、Qualcommのチップを搭載したHTCのモバイルフォンにAndroidをポーティングするという作業を行っているらしい。

日本でも各社からHTCのモバイルフォンが販売されているが、自分の手元には以前解約したイー・モバイルTouch Diamond(S21HT)というWindows Mobile端末があったので、今回はこれにAndroidをインストールする。

使用端末

Touch Diamondo(S21HT)スペック

CPU Qualcomm MSM7201A 528MH
内部メモリ ROM:256MB/RAM:192MB
内部ストレージ 約4GB
ディスプレイ TFT液晶(タッチスクリーン)、2.8inch、VGA(W480×H640dot)
カメラ メインカメラ:約320万画素(CMOS)、サブカメラ:約30万画素(CMOS)
通信方式 HSDPA/W-CDMA(1.7GHz)、GSM(900/1800/1900MHz)
ワイヤレスLAN IEEE802.11b/g
Bluetooth 2.0+EDR準拠
外部I/F miniUSB端子(USB2.0 Full Speed)、メモリスロットなし
OS MicrosoftR Windows MobileR 6.1 Professional 日本語版

インストール方法

インストールは必要なファイルを端末の内部ストレージにコピーして、Windows Mobileからブートローダーを起動するだけ。

元の環境に手を加えず、電源を入れ直せば元のWindows Mobileが起動するので安全にAndoridを試すことができる。

ダウンロードと展開

XDAndroidの最新リリースのパッケージをファイル置き場から作業用のパソコンにダウンロードする。この文書の作成時点の最新版はVersion 2.2.2 FRX07となる。

RX07_Full_Bundle_20110715.zip

ダウンロードしたファイルはZipで圧縮されているので、7-Zipなどのアーカイバで展開する。展開したファイルはFRX07フォルダにまとめておく。

FRX07\
  AndroidApps\
  conf\
  haret.exe
  initrd.gz
  modules-2.6.27.46-01344-g76a304d.tar.gz
  rootfs.img
  startup.txt
  STARTUPS\
  system.ext2
  zImage

このバージョンには、Touch Diamond(S21HT)で起動時に勝手に再起動がかかり、Windows Mobileに戻ってしまうという不具合があるため、最新のKernelビルドとrootfsビルドをそれぞれkernel build servicerootfs build serviceからダウンロードする。以下のファイルはこの文書の作成時点の最新版となる。

htc-msm-linux-20110809_080420-package.tar.bz2
rootfs-20110727-358bc80.zip

これらも同様に展開する。

modules-2.6.27.46-01344-g76a304d.tar.gz
zImage_20110805_223228
rootfs-20110727-358bc80.img

展開したファイルをFRX07の下の対応するファイルと置き換える。

FRX07\
  AndroidApps\
  conf\
  haret.exe
  initrd.gz
  modules-2.6.27.46-01344-g76a304d.tar.gz →古いファイルは削除する。
  modules-2.6.27.46-01344-g76a304d.tar.gz ←最新版をコピーする。(ファイル名はそのまま)
  rootfs.img                              ←最新版を上書きする。(ファイル名の日付と連番は削除)
  startup.txt
  STARTUPS\
  system.ext2
  zImage                                  ←最新版を上書きする。(ファイル名の日付と連番は削除)

設定ファイルの修正

XDAndroidのパッケージは複数機種で共通のため、機種毎の設定ファイルを起動フォルダに設置する必要がある。

機種毎の設定ファイルのテンプレートがSTARTUPSフォルダの下にあるので、Touch Diamond用の以下の設定ファイルをFRX07フォルダの直下にコピーする。

FRX07\
  STARTUPS\
    DIAM\
      DIAM100\
        startup.txt ←このファイルを、
  starttup.txt      ←FRX07フォルダ直下にコピーする。

コピーした設定ファイルを以下のように修正する。

set ramsize 0x10000000
set ramaddr 0x10000000
set mtype 1805
set KERNEL zImage
set initrd initrd.gz
set cmdline "lcd.density=210 msmvkeyb_toggle=off gsensor_axis=2,-1,3 | 実際には一行で記述する。 
  board-htcraphael-navi.wake=0 pm.sleep_mode=1                       |
  rel_path=FRX07 board-htcraphael-navi.inversion=1"                  | ←追加部分。
boot

cmdlimeの設定値に"rel_path=FRX07"と"board-htcraphael-navi.inversion=1"を追加する。この部分は実際には一行で記述する。

これらはブート時のルートディレクトリ、及び、端末のボタンの上下を入れ替えることを指定する。

Androidの起動

作業用パソコンとS21HTをUSBケーブルで接続する。

作業用パソコンのFRX07フォルダをフォルダごとS21HTの内部ストレージのルートにコピーする。

コピーが終了したらUSB接続を解除する。

S21HTのファイルエクスプローラで内部ストレージを表示し、コピーしたFRX07フォルダの下のharet.exeを起動する。警告が表示されるので[はい]を選択する。

Linuxの起動メッセージが表示されるので気長に待つ。起動には時間がかかるが、初回起動時は特に時間がかかる。

初回起動時は途中でタッチパネルのキャリブレーションを行う必要がある。画面に□マークが表示されるのでタッチペンで中心をクリックする。画面の□がメッセージで邪魔されて見辛いが、左上→右上→左下→右下の順に表示される。また、キャリブレーションをやり直したい場合は、FRX07フォルダの下に作成されたts-calibrationファイルを削除すれば良い。

その後、XDAndroidの起動アニメーション(!)が表示され、さらに待つとAndroidの初期画面が表示される。

最初の設定

メニューの設定→言語とキーボードの設定→言語を選択で「日本語」を選択する。

あとはネットワークの設定とか、googleアカウントの設定とかを行えばAndroidマーケットに普通につながる。

日本語を入力したい場合はマーケットからsimejiなどをインストールすれば良い。

アンインストール方法

インストール時にコピーしたFRX07フォルダ、及び、内部ストレージのルートに作成された以下のフォルダを全て削除する。

内部ストレージ\
  .android_secure\
  Android\
  cache\
  FRX07\

その他

メニューの設定→日付と時刻で時間を合わせるさい、タイムゾーンの選択を「GMT+00:00」以外に変更するとWindows Mobileを起動したときの時間がずれてしまうため、ここはそのままにしておく。

起動中に固まるなど動作がおかしくなった場合は、内部ストレージのcacheフォルダを削除すると改善するかも。

USBデバッグモードをOnにすれば、開発用としても使用できる。

FRX07\confフォルダの下のfroyo.user.confファイルの設定値を以下のように変更すると動作が快適になるらしい。

cc_disksize=32
cc_memlimit=32
swappiness=20

以上

2011/09/02 記事のカテゴリーを変更した。

トップページ | 2011年9月 »