こんにちは。
今までにまったく使ったこともないAndroidのアプリを開発することになりました。
気分は「はじまりのまち」に降り立つ冒険者です。
これからレベルアップをしていきたいと思います。
まずは冒険にでかける前に、装備を揃えましょう。環境構築です。
Androidアプリを開発するためには、Android Studioという開発環境が主流となっているそうです。
今回はAndroid Studio Windows(32-bit)をインストールすることにしました。
(※システム要件を確認して、パソコンにあった環境を選択してください。)
32-bit版セットアップ手順は以下の通りです。(64-bit版だと手順が違う場合があるので注意)
- Android Studioのダウンロードページ から、32-bitのzip形式ファイルをダウンロードします。
- Android Studioを導入するフォルダを作成して、その中でzipファイルを展開します。
- android-studioというフォルダが作られたら、同じ場所にandroid-sdk(任意の名前)フォルダを作成します。
- android-studio → bin → studio.exe をダブルクリックします。
- Complete Installation画面は、既存の設定を引き継ぐか確認するものなので特に何もなければ「Do not import settings」を選択します。
- Welcomeをクリックして先へ進み、「Custom」を選択します。
- Select UI Theme画面は、Android Studioのデザインを選べます。好きなほうで構いません。
- SDK Components Setup画面で、Android SDK Locationの[…]ボタンをクリックして、3.で作成したandroid-sdkを選択します。
- 上と同じ画面内のHAXMという項目にチェックを入れておくと、AVD(仮想デバイス)を高速で動作させることができます。後からでも導入はできるのでお好みで構いません。
- 後はNextをクリックしていき、最後にfinishをクリックするとComponentsのダウンロードが始まります。
- 8.9.の手順でHAXMにチェックを入れている場合、ダウンロードの最後に認証確認画面が出ますので許可します。
- 以上でインストールが完了します。
調べつつポチポチすること数十分…
無事インストールできました!!
装備も揃えたところでさっそくアプリの作成をしていきましょう!
プロジェクトの作成も難なくこなして……ん?
んん?プロジェクトを作成した時点でエラーが出てる???
困りました。いざ「はじまりの草原」へ行こうとしたら門番に止められてしまった感じですね。
エラー内容をみてみると…
Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
AAPT2エラーとはなんぞや。
調べてみると…
AAPT2 を有効にしているとビルドが失敗する場合があります。 なお、AAPT2 は現在 Robelectric と互換性がありません。 AAPT2 のリソース処理の問題でビルドが失敗する、または Roboelectric を使用したい場合は、
gradle.properties
ファイル内でandroid.enableAapt2=false
と指定して AAPT2 を無効にし、コマンドラインで./gradlew --stop
を実行して Gradle デーモンを再起動してください。
と公式ページに書いてあったので、さっそく実践してみたところ…
なおらない!!
仕方ないので他の方法を探していると、ある情報を手に入れました。
日本語が含まれたファイル名の中に.gradleファイルがあると文字化けしてしまって
参照できなくなります。
確認してみたところ、ものの見事日本語ファイル名の中に.gradleファイルが存在していました。
デフォルト設定で作成したためファイルの位置は盲点でした。
さっそく.gradleファイルを移動させようとしたところ…
ファイル名が長すぎるため移動できません。
と怒られてしまいました。
こうなったら意地でも…!!と、圧縮→移動(コピー)→解凍をしてなんとか移動(コピー)させました。
(圧縮した.gradleファイルはどこかに保存しておくと良いと思います。)
※.gradleファイルを移動させた時には、参照先を変更する必要があります。
以下の手順です。
- Android Studio の左上にあるFile→Settings…→Gradle→Service directory pathの[…]ボタンをクリック
- 移動させた後の.gradleファイルを指定
さぁ、これでエラーはなくなっただろうと意気揚々にプロジェクトを立ち上げると…
Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
またお前かーい!
なかなかしつこい門番ですね…
思いつく手は試してみたものの、解決できなかったので、熟練冒険者の助言をいただきました。
セキュリティソフトのせいかもしれません。
なんだって…!?そんなことがあるなんて…!
一度セキュリティソフトを無効にして試してみると…
Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
二度あることはなんとやら!!!
もう冒険に行く前から、とっくにライフはゼロよ!状態です。
もう一度熟練冒険者に助言をいただくと…
.gradleファイルの参照先が間違っていると思います。
とのこと。さ、参照先は間違いなく変えたはず…!と思いつつ、
最初に参照していた古いほうの.gradleファイルを削除してから更新をしたところ…
エラーがなくなりました!!!!!
参照先を変えたにも関わらず、古いほうの.gradleファイルをずっと参照していたのが原因だったようです。
移動後には、さっさと古いほうを削除してしまいましょう。
(圧縮した.gradleファイルはどこかに保存しておくと良いと思います。)
装備は揃えたものの装着できていなくて門番に止められていた、みたいな私ですが、
かくしてやっと「はじまりのまち」から出ることができるようになりました。
まだまだ広いこの世界、冒険を始めたばかりなのでこれからもレベルアップをしていきます!