我目前正在使用版本1.1.1中的Kotlin开发Android应用程序
在我的代码中,我有几种forEach结构的叠加,以便阅读几个MutableList和MutableMap.
不幸的是,我的应用程序崩溃了以下堆栈跟踪:
java.lang.NoClassDefFoundError:com.package.fragment.ReminderAddFragment $ onRetrieveBusinessObjects $$ in.sach.package.fragment.ReminderAddFragment.onRetrieveBusinessObjects(ReminderAddFragment.kt:275)in com.smartnsoft.droid4me.app.Droid4mizer inlined $ forEach $ lambda $ 1 .onRetrieveBusinessObjects(Droid4mizer.java:552)位于com.smartnsoft.droid4me.app.Droid4mizer.onRetrieveBusinessObjectsInternal(Droid4mizer.java:606)的com.smartnsoft.droid4me.app.Droid4mizer.access $ 000(Droid4mizer.java:46)at com .smartnsoft.droid4me.app.Droid4mizer $ 1.run(Droid4mizer.java:197)at java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:423)at java.util.concurrent.FutureTask.run(FutureTask. java:237)java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:588)at java.lang.Thread.run(Thread的.java:818)
这里的代码
tutorialCategories.forEach { (_, _, _, _, _, tutorials) ->
tutorials.forEach { tutorial ->
if (tutorial.id == simpleReminderFromExtra.tutorialId)
{
//...
val mapOfreminders = mutableMapOf<Int, MutableList<Reminder>>()
val reminders = ReminderServices.getReminderByTutorialId(simpleReminderFromExtra.tutorialId)
reminders.forEach { reminder ->
//...
}
mapOfreminders.forEach { _, finalReminders ->
//...
finalReminders.forEach …Run Code Online (Sandbox Code Playgroud) 我正在研究一个libGDX项目,我有一个名为CheerVArachnids的类,它有另一个内联类,它是一个事件监听器.当我在桌面上运行这个项目时它工作正常.但是当我在我的Android设备上运行时,它找不到内联类,我收到以下错误:
Could not find class 'com.bbj.cva.CheerVArachnids$PlaceUnitListener', referenced from method com.bbj.cva.CheerVArachnids.<init>
Run Code Online (Sandbox Code Playgroud)
以下是我班级的重要部分:
package com.bbj.cva;
public class CheerVArachnids implements ApplicationListener {
class PlaceUnitListener implements EventSubscriber<PlaceUnitEvent> {
@Override
public void onEvent(PlaceUnitEvent event)
{
//
}
}
public CheerVArachnids() {
EventBus.subscribe(PlaceUnitEvent.class, new PlaceUnitListener());
EventBus.subscribe(RemoveScreenObjectEvent.class,
new RemoveScreenObjectListener());
}
}
Run Code Online (Sandbox Code Playgroud)
任何想法为什么在Android上,在运行时它无法找到内联类?
这是日志.
java.lang.NoClassDefFoundError: android.support.v7.app.AppCompatDelegateImplV14
at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:93)
at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:77)
at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:429)
at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:57)
at com.marshall.gruppo.ui.MainScreenActivity.onCreate(MainScreenActivity.java:41)
at android.app.Activity.performCreate(Activity.java:5451)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2377)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2471)
at android.app.ActivityThread.access$900(ActivityThread.java:175)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:146)
at android.app.ActivityThread.main(ActivityThread.java:5602)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)
我还阅读了一篇建议解决方案的文章(java.lang.NoClassDefFoundError:android.support.v7.app.AppCompatDelegateImplV14).它建议我在build.gradle文件中添加以下内容.
compile 'com.android.support:appcompat-v7:22.2.0'
Run Code Online (Sandbox Code Playgroud)
实际上已经存在于文件中,看起来这不是原始问题.这是我的build.gradle文件.
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.0'
compile project(':volley')
compile project(':android-support-v4')
}
Run Code Online (Sandbox Code Playgroud)
如果您需要查看我的代码,这是我的代码导致NoClassDefFoundError.
public class MainScreenActivity extends AppCompatActivity {
private DrawerLayout mDrawerLayout;
private ListView mDrawerList;
private ActionBarDrawerToggle mDrawerToggle;
private …Run Code Online (Sandbox Code Playgroud) 最近我更新了Android Studio和Android设计库,从那以后我得到了一个例外java.lang.NoClassDefFoundError: android.support.v7.app.AppCompatDelegateImplV14.
不知道是什么问题,我几乎尝试了一切,它在棒棒糖5.1设备(nexus 4)中工作,但它在Android 4.4设备和4.02设备中不起作用.它在所有版本的更新之前工作.
我尝试了stackoverflow中提到的所有解决方案,但没有任何对我有用.
还尝试删除compile 'com.android.support:support-v4:22.2.0'build.gradle中的行但它也不起作用.
也尝试清洁和重建,再次它没有工作.
07-13 18:51:26.702: E/AndroidRuntime(1105): FATAL EXCEPTION: main
07-13 18:51:26.702: E/AndroidRuntime(1105): Process: com.stackoverflow.ranjith.androidprojdel, PID: 1105
07-13 18:51:26.702: E/AndroidRuntime(1105): java.lang.NoClassDefFoundError: android.support.v7.app.AppCompatDelegateImplV14
07-13 18:51:26.702: E/AndroidRuntime(1105): at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:93)
07-13 18:51:26.702: E/AndroidRuntime(1105): at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:77)
07-13 18:51:26.702: E/AndroidRuntime(1105): at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:429)
07-13 18:51:26.702: E/AndroidRuntime(1105): at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:57)
07-13 18:51:26.702: E/AndroidRuntime(1105): at com.stackoverflow.ranjith.androidprojdel.AppCompActivity.onCreate(AppCompActivity.java:34)
07-13 18:51:26.702: E/AndroidRuntime(1105): at android.app.Activity.performCreate(Activity.java:5231)
07-13 18:51:26.702: E/AndroidRuntime(1105): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
07-13 18:51:26.702: E/AndroidRuntime(1105): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148)
07-13 18:51:26.702: E/AndroidRuntime(1105): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233)
07-13 18:51:26.702: E/AndroidRuntime(1105): …Run Code Online (Sandbox Code Playgroud) android android-appcompat appcompatactivity android-design-library androiddesignsupport
我们的一位测试人员使用运行Android 4.4.4的T-mobile Galaxy S4遇到了非常奇怪的NoClassDefFoundError崩溃.我完全不知道为什么会发生这些事情.
最新的一个是onCreateView在片段中调用静态方法时发生的.
MyCustomClass.getNumberOfItems(getActivity());
Run Code Online (Sandbox Code Playgroud)
失败了
致命异常:java.lang.NoClassDefFoundError com.mycompany.myapp.utilities.MyCustomClass $ 5
这是有问题的方法:
public static List<Item> getNumberOfItems(final Context context)
{
List<Item> allFinishedItems = getAllFinishedItems(context);
CollectionUtils.filter(allFinishedItems, new Predicate<Item>()
{
@Override
public boolean evaluate(Item item)
{
// TODO Auto-generated method stub
return isNonCustomItem(context, item);
}
});
return allFinishedItems;
}
Run Code Online (Sandbox Code Playgroud)
1.)课程名称后面的"5美元"是什么?(回答:使用CollectionUtils.filter过滤匿名类的引用)2.)这个用户有另一个类似性质的崩溃,但是在一个通过gradle包含的库中有一个完全不同的静态方法调用.我在这个问题中引用的崩溃来自代码,它是我自己的库项目的一部分,同样的静态方法调用在应用程序的其他地方工作.这个问题似乎正在蔓延,或者至少不包含在1个类或1个库中.
我们的目标是build.gradle中的以下Android版本:
minSdkVersion 14
targetSdkVersion 22 (android 5.1)
Run Code Online (Sandbox Code Playgroud)
这可能会发生什么?另外需要注意的是,已签名的APK是使用Android Studio 2.0预览版4生成的.但是,该应用程序适用于20-30个其他beta测试人员,所以我对使用预览版Studio进行指责犹豫不决.