【Java】【Android】DataBinding行おうとして Cause: couldn’t make a guess for のエラーが出てつまずいた話

こんにちは、 kazuです。
本日はAndroidアプリ作成をしていて
Bindingをしようとしたら 「Cause: couldn’t make a guess for com.sample.MyApplication.databinding.ActivityMainBindingImpl」
のエラーが出てつまずいた時の話をしようと思います。

条件

言語 : Java
IDE : AndroidStudio
アプリ名 : My Application
パッケージ名 : com.sample.MyApplication

コードを確認する

実際にコードを確認していきましょう!

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
        binding.moveButton.setOnClickListener(openActivity);
    }

    private final View.OnClickListener openActivity = new View.OnClickListener() {
        @Override
        public void onClick(View view) {
                Intent intent = new Intent(getApplication(), EditActivity.class);
                startActivity(intent);
        }
    };
}
<!--?xml version="1.0" encoding="utf-8"?-->

<layout xmlns:android="http://schemas.android.com/apk/res/android" 

xmlns:tools="http://schemas.android.com/tools">

<androidx.constraintlayout.widget.constraintlayout 

android:layout_width="match_parent" 

android:layout_height="match_parent" 

tools:context=".MainActivity">

<button 

android:id="@+id/move_button" 

android:layout_width="wrap_content" 

android:layout_height="wrap_content" 

android:layout_gravity="center" android:text="画面遷移する" 

android:textstyle="bold" tools:ignore="MissingConstraints">

</button>

</androidx.constraintlayout.widget.constraintlayout>

</layout>
package com.cal.MyApplication;

import android.os.Bundle;

import androidx.appcompat.app.AppCompatActivity;

public class EditActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_edit);
    }
}
android {
    ・
    ・

    dataBinding {
        enabled = true
    }
    
    ・
    ・

    }
追加
<activity android:name=".EditActivity">
</activity>

表示されたエラー

Cause: couldn't make a guess for com.sample.MyApplication.databinding.ActivityMainBindingImpl
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:compileDebugJavaWithJavac'

原因

原因はなんだったのでしょうか?
コードのミス?それともGladleの設定?
いいえ違いますパッケージ名です!
パッケージ名とはなんぞや?
ということでプロジェクト作成時この画面を通りませんでしたか?

上記画像の「package name」のところです。
つまりプロジェクト作成時からエラー出ることが決まっていたということです。
「パッケージ名」が原因?それのどこが悪いの?ということですが大文字が入っていることです。
最初の条件に戻ってみてください。
「com.sample.MyApplication」とあり赤字の部分が大文字になっていますよね?
これがエラーの原因です。
なのでリネームして「com.sample.myapplication」に変更してください。
上記でエラーが解決しました。

最後に

いかがでしたでしょうか?
これ結構詰まってしまいました。
ですので備忘録として残しました。
皆様のお役に立てれば幸いです。
最後までご覧いただきありがとうございました。