У меня есть приложение из двух разных источников Android studio и Eclipse . Затем у меня есть Lib для моего приложения, разработанного Android Studio. Как только я преобразую свой проект Lib в файл JAR и импортирую его в IDE затмения. Все будет работать нормально, но один из Намерений не работает. Это показывает, что класс ошибки времени выполнения не найден.
Я могу добавить jar в папку Lib и сделать его как путь сборки, я не могу найти решение. Ниже приведены способы, которыми я могу попытаться исправить ошибку, но безуспешно.
Ошибка FullscreenActivity.class не найдена. Он работает в Android-студии, но не работает в Eclipse IDE.
Путь 1:
Intent intent = new Intent(adViewContext, FullscreenActivity.class);
Путь 2:
Intent intent=new Intent();
intent.setClass(adViewContext,FullscreenActivity.class);
Способ 3:
Intent intent = new Intent();
intent.setClassName(adViewContext, "com.pckname.name.FullscreenActivity");
Способ 4:
try {
intent.setClass(adViewContext, Class.forName("com.pckname.name.FullscreenActivity"));
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Способ 5:
Intent intent = new Intent();
Class<?> activityClass = null;
try {
//activityClass = Class.forName("com.pckname.name." + FullscreenActivity.class);
activityClass = Class.forName("com.pckname.name.FullscreenActivity");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
assert activityClass != null;
intent.setClass(adViewContext, activityClass);
Путь 6:
Intent intent = new Intent();
ComponentName componentName = new ComponentName(adViewContext, FullscreenActivity.class);
intent.setComponent(componentName);
Я пробовал эти коды для вызова другого действия из приложения в класс JAR, но ошибка возникает.
когда я использую способ 5, я получил ошибку ниже,
04-16 12:04:55.347: E/AndroidRuntime(14892): FATAL EXCEPTION: main
04-16 12:04:55.347: E/AndroidRuntime(14892): Process: com.example.sampleappwithaar, PID: 14892
04-16 12:04:55.347: E/AndroidRuntime(14892): java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Class.getName()' on a null object reference
04-16 12:04:55.347: E/AndroidRuntime(14892): at android.content.ComponentName.<init>(ComponentName.java:78)
04-16 12:04:55.347: E/AndroidRuntime(14892): at android.content.Intent.setClass(Intent.java:6855)
04-16 12:04:55.347: E/AndroidRuntime(14892): at com.adserversdk.dj.sdk_interstitial_banner_ads.adserver.InterstitialBannerAds_AdView$MyWebViewClient.onPageFinished(InterstitialBannerAds_AdView.java:527)
04-16 12:04:55.347: E/AndroidRuntime(14892): at com.android.webview.chromium.WebViewContentsClientAdapter.onPageFinished(WebViewContentsClientAdapter.java:224)
04-16 12:04:55.347: E/AndroidRuntime(14892): at org.chromium.android_webview.AwContentsClientCallbackHelper$MyHandler.handleMessage(AwContentsClientCallbackHelper.java:72)
04-16 12:04:55.347: E/AndroidRuntime(14892): at android.os.Handler.dispatchMessage(Handler.java:102)
04-16 12:04:55.347: E/AndroidRuntime(14892): at android.os.Looper.loop(Looper.java:135)
04-16 12:04:55.347: E/AndroidRuntime(14892): at android.app.ActivityThread.main(ActivityThread.java:5596)
04-16 12:04:55.347: E/AndroidRuntime(14892): at java.lang.reflect.Method.invoke(Native Method)
04-16 12:04:55.347: E/AndroidRuntime(14892): at java.lang.reflect.Method.invoke(Method.java:372)
04-16 12:04:55.347: E/AndroidRuntime(14892): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:960)
04-16 12:04:55.347: E/AndroidRuntime(14892): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
Когда я использую способ Путь 1, я получаю ошибку ниже,
04-16 12:15:14.917: E/AndroidRuntime(16507): FATAL EXCEPTION: main
04-16 12:15:14.917: E/AndroidRuntime(16507): Process: com.example.sampleappwithaar, PID: 16507
04-16 12:15:14.917: E/AndroidRuntime(16507): java.lang.NoClassDefFoundError: Failed resolution of: Lcom/path/path/FullscreenActivity;
04-16 12:15:14.917: E/AndroidRuntime(16507): at com.adserversdk.dj.sdk_interstitial_banner_ads.adserver.InterstitialBannerAds_AdView$MyWebViewClient.onPageFinished(InterstitialBannerAds_AdView.java:504)
04-16 12:15:14.917: E/AndroidRuntime(16507): at com.android.webview.chromium.WebViewContentsClientAdapter.onPageFinished(WebViewContentsClientAdapter.java:224)
04-16 12:15:14.917: E/AndroidRuntime(16507): at org.chromium.android_webview.AwContentsClientCallbackHelper$MyHandler.handleMessage(AwContentsClientCallbackHelper.java:72)
04-16 12:15:14.917: E/AndroidRuntime(16507): at android.os.Handler.dispatchMessage(Handler.java:102)
04-16 12:15:14.917: E/AndroidRuntime(16507): at android.os.Looper.loop(Looper.java:135)
04-16 12:15:14.917: E/AndroidRuntime(16507): at android.app.ActivityThread.main(ActivityThread.java:5596)
04-16 12:15:14.917: E/AndroidRuntime(16507): at java.lang.reflect.Method.invoke(Native Method)
04-16 12:15:14.917: E/AndroidRuntime(16507): at java.lang.reflect.Method.invoke(Method.java:372)
04-16 12:15:14.917: E/AndroidRuntime(16507): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:960)
04-16 12:15:14.917: E/AndroidRuntime(16507): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
04-16 12:15:14.917: E/AndroidRuntime(16507): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.pckname.name..FullscreenActivity" on path: DexPathList[[zip file "/data/app/com.example.sampleappwithaar-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
04-16 12:15:14.917: E/AndroidRuntime(16507): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
04-16 12:15:14.917: E/AndroidRuntime(16507): at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
04-16 12:15:14.917: E/AndroidRuntime(16507): at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
04-16 12:15:14.917: E/AndroidRuntime(16507): ... 10 more
04-16 12:15:14.917: E/AndroidRuntime(16507): Suppressed: java.lang.NoClassDefFoundError: com.adserversdk.dj.sdk_interstitial_banner_ads.adserver.FullscreenActivity
04-16 12:15:14.917: E/AndroidRuntime(16507): at dalvik.system.DexFile.defineClassNative(Native Method)
04-16 12:15:14.917: E/AndroidRuntime(16507): at dalvik.system.DexFile.defineClass(DexFile.java:230)
04-16 12:15:14.917: E/AndroidRuntime(16507): at dalvik.system.DexFile.loadClassBinaryName(DexFile.java:223)
04-16 12:15:14.917: E/AndroidRuntime(16507): at dalvik.system.DexPathList.findClass(DexPathList.java:321)
04-16 12:15:14.917: E/AndroidRuntime(16507): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:54)
04-16 12:15:14.917: E/AndroidRuntime(16507): ... 12 more
04-16 12:15:14.917: E/AndroidRuntime(16507): Suppressed: java.lang.ClassNotFoundException: com.pckname.name..FullscreenActivity
04-16 12:15:14.917: E/AndroidRuntime(16507): at java.lang.Class.classForName(Native Method)
04-16 12:15:14.917: E/AndroidRuntime(16507): at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
04-16 12:15:14.917: E/AndroidRuntime(16507): at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
04-16 12:15:14.917: E/AndroidRuntime(16507): at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
04-16 12:15:14.917: E/AndroidRuntime(16507): ... 11 more
04-16 12:15:14.917: E/AndroidRuntime(16507): Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available