[Xposed General] forthewin0:
EDIT: FOUND THE BUG!

Turns out that Android's Instant Run feature does not work with Xposed. I turned it off and the module ran perfectly.

Kinda sad that I spent hours just staring at my code trying to find a bug. I guess I'll submit an issue on GitHub to update the tutorial. Hopefully other developers will see that a lot quicker :)

===============

Hey guys, I'm new to developing Xposed modules and have been following the Xposed development guide that Rovo made on GitHub. I understand how Xposed works and have tried to recreate the tutorial on Android Studio myself. However, when I load the module, I keep getting a java.lang.ClassNotFoundException. I was hoping that someone could take a look at my (very short) code and tell me if I am forgetting to do something.

Here is the error I am getting:

05-19 11:03:15.591 4049-4049/? I/Xposed: Loading modules from /data/app/com.tejasvinareddy.xposed.tutorial-1/base.apk
05-19 11:03:15.636 4049-4049/? I/Xposed: Loading class com.tejasvinareddy.xposed.tutorial.Main
05-19 11:03:15.637 4049-4049/? E/Xposed: java.lang.ClassNotFoundException: Didn't find class "com.tejasvinareddy.xposed.tutorial.Main" on path: DexPathList[[zip file "/data/app/com.tejasvinareddy.xposed.tutorial-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
at de.robv.android.xposed.XposedBridge.loadModule(XposedBridge.java:497)
at de.robv.android.xposed.XposedBridge.loadModules(XposedBridge.java:457)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:122)
Suppressed: java.lang.ClassNotFoundException: Didn't find class "com.tejasvinareddy.xposed.tutorial.Main" on path: DexPathList[[zip file "/system/framework/XposedBridge.jar"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
... 4 more
Suppressed: java.lang.ClassNotFoundException: com.tejasvinareddy.xposed.tutorial.Main
at java.lang.Class.classForName(Native Method)
at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
... 5 more
Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available

AndroidManifest.xml

<manifest xmlns:android="<<CAN'T POST LINK CAUSE I'M NEW ugh>>"
package="com.tejasvinareddy.xposed.tutorial">

<application android:allowBackup="true"
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher"
android:supportsRtl="true"
android:theme="@style/AppTheme">

<meta-data
android:name="xposedmodule"
android:value="true" />
<meta-data
android:name="xposeddescription"
android:value="Teju's first Xposed module" />
<meta-data
android:name="xposedminversion"
android:value="53" />

</application>

</manifest>

The app's build.gradle file:

apply plugin: 'com.android.application'

android {
compileSdkVersion 23
buildToolsVersion "23.0.3"

defaultConfig {
applicationId "com.tejasvinareddy.xposed.tutorial"
minSdkVersion 15
targetSdkVersion 23
versionCode 2
versionName "1.0.1"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0'
provided 'de.robv.android.xposed:api:82'
provided 'de.robv.android.xposed:api:82:sources'
}

My main code:

package com.tejasvinareddy.xposed.tutorial;

import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.callbacks.XC_LoadPackage;

public class Main implements IXposedHookLoadPackage {

@Override
public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam)
throws Throwable {
XposedBridge.log("TUTORIAL: Loaded app " + lpparam.packageName);
}
}

And finally xposed_init:

com.tejasvinareddy.xposed.tutorial.Main

Are there any other files that I could be messing up?