Help us understand the problem. What is going on with this article?

【Android】QRコード機能ライブラリのZXingを導入する際につまずいた話

ZXingを使ってQRコードを読み取る

今回は、AndroidStudioでライブラリを導入する際につまづいた話をしていきます。
実装したかったのは上の見出し通りです。
ちなみに自分はまずAndroidStudioをインストールすることから始めた超初心者なんであったかい目でお願いします...。
今回導入するライブラリはかなり有名なライブラリzxingっていうやつです。
Androidアプリ開発でQRコードの機能を追加するぞってなった時は結構な確率でこのライブラリを使用するのではないか、レベルのやつ。
実際に導入手順を説明しながら自分がつまづいた所を説明していきます。
取りあえず自分の環境を公開!

環境

AndroidStudioversion : 3.6.2
MinSDK : 26
buildtoolversion : 29.0.3
compileversion : 29
language : Koltin

実装

状態としては新しくプロジェクトを作成して何も触っていない状態から始めます。
こっちの方がわかりやすいし、いかんせんイラン設定してそのせいでエラーとか嫌ですしね。
さて、やっていきます。

build.gradleに直接書いてライブラリを導入する。

まあ、自分は超初心者だったのでググりまくりました。その結果以下のコードをbuild.gradleに追記すればいいとのことだったので追記してみました。ちなみにこのbuild.gradleはappディレクトリ直下のやつです。

build.gradle(app)
dependencies {
    //他の設定

    implementation 'com.journeyapps:zxing-android-embedded:4.1.0'
  //↑ライブラリのバージョンはその時々の最新のものを使用してください。

}

はい。自分がつまづいたのはこの後です。
結構大抵のサイトではこの一文を追加したら大丈夫的なものが多かったけど、ある程度知識がある方ならここであることに気づくはずです。まあ、自分は超初心者だからそんなこと気づくわけがないですが。
このままビルドしてエミュレータで起動してみるとあら不思議、アプリが開かない(厳密にいうと起動瞬間クラッシュする)。

なにがダメなのか?

では何がダメなのか。注目すべきはこのライブラリを構築している言語です。
そう。このライブラリはJavaで構築されているのです。そのためライブラリを導入したはいいがコンパイルできずにコンピュータが解釈できていなかったみたい。そのためこのライブラリを構築している言語をコンパイルする機能が必要。さて、解決方法がわかったらさっそく試してみましょう。

build.gradle(app)に追記してエラーを解決する。

ようするにJavaのコンパイラを追加してあげればいいです。
以下のコードを追記します。

build.gradle(app)
android {
      //初期設定とかが書かれている
    compileOptions {
                sourceCompatibility JavaVersion.VERSION_1_8
                targetCompatibility JavaVersion.VERSION_1_8
                //↑これのバージョンも一応最新のものがいいかも
        }


これを追記してからもう一回ビルドしてエミュレータで起動してみると....
あら不思議クラッシュしない。どうやらコンパイラが追されコンピュータがライブラリを認識できたみたいです。(できない場合は空白や不要な文字、バージョンを確認してください)
一応これでこのライブラリの導入は成功。
あとは読み取りとかを各自追記していってください。

最後に

このようにライブラリを導入する際はそのライブラリの構築言語にも注意する必要があるこが学べました。いかんせん自分は大学一回生なのでまだまだ知識が足りません。せっかくですし軽く自己紹介でもします。

筆者は大学生です。はい。バイトでエンジニアしてます。
インスタでは主にios開発やandroid開発、情報発信や記事の投稿通知、役立つ情報、日常を垂れ流したりしてますのでよかったらフォローしてください。多分フォロー返します。沢山の方と繋がれたらなとか思っています。
アカウント→taaa_kundayo
URL:https://www.instagram.com/p/B-j3-RJjPWJ/?igshid=poq7k5z6eo3n

では、記事は以上になります。
ありがとうございました!!

taaa_kundayo
大阪の大学で情報科学を専攻する大学生です。 アルバイトとして市内のIT企業でエンジニアとしてアルバイトしています。 Qiitaでは、僕が開発や勉強する際につまづいた事や、便利だなとかいい情報だなとか思った事を記事として書いていきます。 主に、インフラ整備やツール開発やアプリ開発、ゲーム開発をしています。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした