Android, IDE, Firebase, Firestore

Abstract#

Androidの開発環境であるAndroid Studioの話。

Topics#

インストール#

  • インストール
入手は、本家から[1]
インストール自体は淡々と進んだけど、開始する前の必要なコンポネントのダウンロードに手間取りました。時間がかかり、タイムアウトして、セットアップが終わらない。。
昔まだIDEがEclipseベースだったころは、android sdkを別途ダウンローとして設定していたことを思い出し、それを試みるも、どこからもダウンロードできなくなってる!?SDKは、Studio経由でダウンロードする時代か。
結局、タイムアップしているZIPファイルを直接ブラウザで下図のようにダウンロードしていきました。なぜかブラウザ側でのダウンロードが完了した時点でStudio側も動き出す。その後はStudio経由のダウンロードもスムーズにいくようになりました。

署名関係#

署名関係はこちらへ。

エラー対応#

  • Could not determine the class-path for interface com.android.builder.model.AndroidProject
とあるダウンロードしたプロジェクトを開こうとしたときにこのエラーがでた。[2]を参考に対応。gradle-wrapper.propertiesにあるdistributionUrlの値を変えることでいろいろと動き出す。
Mavenが動かないので、Projectのbuild.gradleのall projectsのrepositoriesにmaven追加したり
Could not find method runProguard()といわれたのでappのbuild.gradleのandroidのbuildTypesのreleaseにminifyEnabled falseと書いたり
  • Plugin with id 'com.android.application' not found
GNSSFinderをアップデートしようとして、久々にAndroid Studioでプロジェクトを開いたら、Plugin with id 'com.android.application' not foundがでてコンパイルできない状態に。前はできていたはずなのに。。と言っていても仕方がないので、いろいろ調べていると、プロジェクトフォルダのトップ(ルート)においてあるbuild.gradleがちゃんと設定されていないことが原因っぽい。見ると確かにそこには何も書いていない。そこで自分の他のプロジェクトを参考にこんな記述を書いてみる。するといろいろと動き出し、最後にはちゃんとコンパイルも成功。
buildscript {
    repositories {
        mavenCentral()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
    }
}

allprojects {
    repositories {
        mavenCentral()
        google()
    }
}
  • Could not find org.jetbrains.trove4j:trove4j
署名付きAPKを作ろうとしたら、これが出てできなかった。それは、もしかしたら上記の表記も修正したほうがいいかもしれないが、mavenCentral()をjcenter()に直すと、うまくいくようになる[3]
  • 突然のCannot resolve symbol
朝は問題なかったJavaファイルが突然真っ赤に。一度close Projectやって、existing projectをオープンしたら、治りました[5]
  • Could not find method versionCode() for arguments [1.1]...
appの下にあるbuild.gradleのdefaultConfig にあるversionCodeで指定する数字は、整数でないとエラーがおきます[6]
  • Could not find com.android.tools.build:aapt2
topにあるbuild.gradleの中のbuildscriptだけでなくallprojectsの中のrepositoriesの中にもgoogle()を足すと解決[7]

アイコンを作ろう#

  • Adaptiveアイコン
Adaptive Iconについては、こちらを->[4]
作るのは、このAndroid Studioの機能を使うのが一番楽。ある程度の大きさのアイコンの元となる絵をつくって、例えば512 × 512pxとかのを作って、resフォルダ選びながら、File->New->Image Assetsで作った絵をFore groundに選んで、Back groundは適当に色を指定するのが良いと思うが、そうしているとできる。

Reference#

  1. [#1]Google, Android Studio, https://developer.android.com/studio/
  2. [#2]StackOverFlow, 2017年3月, Could not determine the class-path for interface com.android.builder.model.AndroidProject, https://stackoverflow.com/questions/42777321/could-not-determine-the-class-path-for-interface-com-android-builder-model-andro/44565064
  3. [#3]StackOverFlow, 2017年8月、Trove4j library cannot be resolved, https://stackoverflow.com/questions/45818613/trove4j-library-cannot-be-resolved
  4. [#4]https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive?hl=ja
  5. [#5]AndroidStudioで突然Cannot Resolve symbolで赤線が大量に出る時の対処法
  6. [#6]https://stackoverflow.com/questions/61481784/could-not-find-method-versioncode-for-arguments-1-1
  7. [#7]https://stackoverflow.com/questions/50279792/could-not-find-com-android-tools-buildaapt23-2-0