bitcoin Walletをubuntu 16.04 LTSでAndroid用にビルドしてデプロイしてみました


Android版のSPVノード(クライアント)をソースからビルド

JavaプロジェクトをビルドするためにApache MavenかGradleが必要なので作っておきます。

*最新のwalletはgradleでビルドします。

ビルドの前提

Javaがインストールされていること

bitcoin-walletをクローンしておく

Gradleがインストールされていること

Android SDKがインストールされていること

Android NDKがインストールされていること

 


Java環境

$ sudo apt-get update

$ sudo apt-get upgrade

まず、Javaがインストールされているかチェック。

$ java -version

まだの場合

$ sudo add-apt-repository ppa:webupd8team/java

$ sudo apt-get update

Oracle Javaの最新は 8のようです、安定板をインストール

$ sudo apt-get install oracle-java8-installer

チェック

$ java -version

 


bitcoin-wallet

Githubからクローしておきます。

$ git clone https://github.com/schildbach/bitcoin-wallet.git

 


Gradle環境

$ sudo mkdir /opt/gradle

 

$ cd /opt/gradle

最新のgradleは4.4.1ですが、使用しているgradleは2.10の古いバージョンのようです。

過去バージョンからダウンロードして使います。

old version

V2.10をhomeにDLしてコピー

$ sudo cp ~/gradle-2.10-bin.zip  /opt/gradle

$ sudo unzip -d /opt/gradle gradle-2.10-bin.zip

確認

$ ls /opt/gradle/gradle-2.10

$ export PATH=$PATH:/opt/gradle/gradle-2.10/bin

 


Android SDK

 

ここからコマンドラインツールをDL

$ mkdir ~/Android-SDK

解凍してAndroid-SDKに展開

sdkmanagerでツール類を作っておきます。

$ ~/Android-SDK/tools/bin/sdkmanager “platforms;android-26”

$ ~/Android-SDK/tools/bin/sdkmanager “build-tools;26.0.3”

 

~/bitcoin-wallet/local.propertiesファイルを新規作成して以下を記述。

sdk.dir=<SDKのパス>

例 homeにAndroid-SDKがある場合

sdk.dir=/home/<ユーザー名>/Android-SDK

 

~/bitcoin-wallet/sample-integration-android/build.gradleを修正しておきます。

compileSdkVersion ‘android-26’
buildToolsVersion ‘26.0.3’

 

$ cd ~/Android-SDK/tools/bin

$ ./sdkmanager –update

 


Android NDK

ここからNDKをダウンロードして展開

~/bitcoin-wallet/local.propertiesファイルに追記

ndk.dir=<NDKのパス>

 


bitcoin-walletをgradleでビルド

 

$ cd ~/bitcoin-wallet

$ gradle clean build

apkファイルが生成されているはず、探してみます。


Androidへデプロイ(deploy)

debugモードのapkはOKでした。

 

 

AndoidをPCにUSBケーブルで接続、端末がPCからストレージとして認識されます。

apkを適当な場所へ転送。

タップすればapkファイルならアプリとしてインストールを開始します。

アプリはこんな感じです。testnetに接続しています。

testnetの場合、ビットコインはfaucetから手に入ります(貴重なものなのでテストで使ったら返却するように!、それにここから入手できるビットコインは法定通貨との交換はできません、まあ子供銀行券のようなものです、でもtestnetはmainnetと同じ構造のP2Pネットワークなのでtestできます)。


bitcoin Walletのアドレスを確認してFaucetサイトからビットコインを受け取ってみる


(おまけ)Maven環境

$ sudo apt-get update

$ sudo apt-get upgrade

Apache Mavenをインストール

2018/01/07現在最新版は3.5.2ですが、動作している実績ということで3.3.9を使用

$ cd /opt/

$ sudo wget http://www-eu.apache.org/dist/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz

$ sudo tar -xvzf apache-maven-3.3.9-bin.tar.gz

ディレクトリ名を変更

$ sudo mv apache-maven-3.3.9 maven

環境変数をセットアップ

エディタでmavenenv.shを新規に開く(なんでもいいんですがnanoを使用)

$ sudo nano /etc/profile.d/mavenenv.sh

$ sudo chmod +x /etc/profile.d/mavenenv.sh

変数のロードにsourceコマンドを使います、無い場合は以下でインストール

$ sudo apt-get install build-essential checkinstall

ロード
$ source /etc/profile.d/mavenenv.sh

インストールを確認

$ mvn  -version

 

コマンド

mvn clean install


 

Be the first to comment

Leave a Reply

Your email address will not be published.


*