title: Room Persistence Library run time exception when calling Rooms inMemoryBuilder method
body: <p>When following the tutorial for setting up the Room persistence library I run in to this error when testing on an Android device.</p>
  
  <p>java.lang.RuntimeException: cannot find implementation for <em>PackageName</em>.AppDatabase. AppDatabase_Impl does not exist</p>
  
  <p>I know a similar question has been asked however the issues were due to kotlin gradle issues. <a href="https://stackoverflow.com/questions/44154654/room-persistence-lib-implementation-in-kotlingradle-error">Possible Duplicate</a></p>
  
  <p>Test class:</p>
  
  <pre><code>@RunWith(AndroidJUnit4.class)
  public class LocalDatabaseTest {
  
      private PhotoDao mPhotoDao;
      private AppDatabase mDb;
  
      @Before
      public void createDb() {
          Context context = InstrumentationRegistry.getTargetContext();
          mDb = Room.inMemoryDatabaseBuilder(context.getApplicationContext(), AppDatabase.class).build();
          mPhotoDao = mDb.photoDao();
      }
  
      @After
      public void closeDb() throws IOException {
      //mDb.close();
  }
  
      @Test
      public void testPreConditions() {
          assertNotNull(mDb);
     }
  </code></pre>
  
  <p>Dao:</p>
  
  <pre><code>    @Dao
      public interface PhotoDao {
      @Delete()
      public void delete(Photo... photos);
  
      @Update
      public void update(Photo ... photos);
  
      @Insert
      public void insert(Photo ... photos);
      }
  </code></pre>
  
  <p>Database:</p>
  
  <pre><code>@Database(entities = {Photo.class}, version = 1)
  public abstract class AppDatabase extends RoomDatabase {
  public abstract PhotoDao photoDao();
  }
  </code></pre>
  
  <p>Stack Trace: </p>
  
  <pre><code>java.lang.RuntimeException: cannot find implementation for *PackageName*.AppDatabase. AppDatabase_Impl does not exist
  at android.arch.persistence.room.Room.getGeneratedImplementation(Room.java:90)
  at android.arch.persistence.room.RoomDatabase$Builder.build(RoomDatabase.java:340)
  at pics.chooz.choozpics.LocalDatabaseTest.createDb(LocalDatabaseTest.java:40)
  at android.support.test.internal.runner.TestExecutor.execute(TestExecutor.java:59)
  at android.support.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:262)
  at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1853)
  </code></pre>
  
  <p>Gradle:</p>
  
  <pre><code>apply plugin: "com.android.application"
  apply plugin: "android-apt"
  
  android {
      compileSdkVersion 25
      buildToolsVersion "25.0.2"
  
      defaultConfig {
          applicationId "*Package Name*"
          minSdkVersion 16
          targetSdkVersion 25
          versionCode 50
          versionName "1.0.32"
          multiDexEnabled true
          testInstrumentationRunner     "android.support.test.runner.AndroidJUnitRunner"
  }
  
  dexOptions {
      javaMaxHeapSize "4g"
  }
  
  buildTypes {
      release {
          minifyEnabled false
          proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
      }
      debug {
          debuggable true
      }
  }
  
  lintOptions {
      abortOnError false
      disable "ResourceType"
  }
  
  sourceCompatibility = 1.7
  targetCompatibility = 1.7
  compileOptions {
      sourceCompatibility JavaVersion.VERSION_1_7
      targetCompatibility JavaVersion.VERSION_1_7
  }
  
  packagingOptions {
      exclude 'META-INF/ASL2.0'
      exclude 'META-INF/LICENSE'
      exclude 'META-INF/NOTICE'
  }
  }
  dependencies {
  
  androidTestCompile "com.android.support:support-annotations:$androidVersion"
  androidTestCompile 'com.android.support.test:runner:0.5'
  androidTestCompile 'com.android.support.test:rules:0.5'
  
      compile "android.arch.persistence.room:runtime:1.0.0-alpha1"
      annotationProcessor "android.arch.persistence.room:compiler:1.0.0-alpha1"
  }
  </code></pre>