- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
Android 项目在 Samsung S7 API 24、Nexus 6 API 24、API 23 Emulator、Pixel API 23 和 Galaxy Note 23 API 模拟器上运行没有问题。
当我在具有 API 22 或 21 的设备或模拟器上运行它时,第一次启动应用程序时抛出以下异常。
05-04 11:48:25.045 10463-10463/com.xyz.abc E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.xyz.abc, PID: 10463
java.lang.NoClassDefFoundError: com.xyz.abc.database.helper.AbcDatabaseHelper
at com.xyz.abc.database.daos.UserRecordDao.<init>(UserRecordDao.java:32)
at com.xyz.abc.AbcApplication.onCreate(AbcApplication.java:148)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1020)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5113)
at android.app.ActivityThread.access$1600(ActivityThread.java:177)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1509)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5942)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1400)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1195)
为什么以及如何解决?
下面是build.gradle
apply plugin: 'com.android.application'
repositories {
maven { url "https://jitpack.io" }
}
android {
compileSdkVersion 25
buildToolsVersion '25.0.3'
defaultConfig {
applicationId "com.xyz.abc"
minSdkVersion 21
targetSdkVersion 22
versionCode Integer.parseInt(project.VERSION_CODE)
versionName project.VERSION_NAME
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled false
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
dexOptions {
preDexLibraries = false
javaMaxHeapSize "2g"
}
aaptOptions {
cruncherEnabled = false
}
packagingOptions {
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/DEPENDENCIES.txt'
}
}
dependencies {
// Required -- JUnit 4 framework
// Optional -- Mockito framework
compile fileTree(include: ['*.jar'], dir: 'libs')
compile files('libs/aws/aws-android-sdk-cognito-2.1.10.jar')
compile files('libs/aws/aws-android-sdk-core-2.1.10.jar')
compile files('libs/aws/aws-android-sdk-s3-2.1.10.jar')
compile('com.google.maps.android:android-maps-utils:0.4+') {
exclude group: "com.google.android.gms"
}
compile 'com.j256.ormlite:ormlite-android:4.48'
compile 'com.marshalchen.ultimaterecyclerview:library:0.7.2'
compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:design:25.3.1'
compile 'com.android.support:support-v4:25.3.1'
compile 'com.android.support:recyclerview-v7:25.3.1'
compile 'com.jakewharton:butterknife:7.0.1'
compile 'pl.droidsonroids.gif:android-gif-drawable:1.2.+'
compile 'com.ogaclejapan.smarttablayout:library:1.6.0@aar'
compile 'com.ogaclejapan.smarttablayout:utils-v4:1.6.0@aar'
compile 'com.github.ppamorim:dragger:1.2'
compile 'com.github.ksoichiro:android-observablescrollview:1.5.1'
compile 'com.mixpanel.android:mixpanel-android:4.+'
compile 'com.wdullaer:materialdatetimepicker:3.1.3'
compile 'de.hdodenhof:circleimageview:2.1.0'
compile 'com.github.frank-zhu:pullzoomview:1.0.0'
compile 'com.github.techery:properratingbar:0.0.5'
compile 'se.emilsjolander:stickylistheaders:2.7.0'
compile 'com.google.android.gms:play-services:10.0.1'
testCompile 'junit:junit:4.12'
testCompile 'org.mockito:mockito-core:1.10.19'
}
apply plugin: 'com.google.gms.google-services'
退出在 API 22 上运行它
05-08 21:18:33.431 4597-4597/? E/libprocessgroup: failed to make and chown /acct/uid_10059: Read-only file system
05-08 21:18:33.431 4597-4597/? W/Zygote: createProcessGroup failed, kernel missing CONFIG_CGROUP_CPUACCT?
05-08 21:18:33.432 4597-4597/? I/art: Not late-enabling -Xcheck:jni (already on)
05-08 21:18:33.471 4597-4597/com.xyz.abc W/ResourcesManager: Asset path '/system/framework/com.google.android.maps.jar' does not exist or contains no resources.
05-08 21:18:34.038 4597-4625/com.xyz.abc W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found.
05-08 21:18:34.051 4597-4625/com.xyz.abc W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found.
05-08 21:18:34.062 4597-4597/com.xyz.abc W/InstanceID/Rpc: Found 10007
05-08 21:18:34.063 4597-4625/com.xyz.abc W/ResourcesManager: Asset path '/system/framework/com.android.media.remotedisplay.jar' does not exist or contains no resources.
05-08 21:18:34.065 4597-4625/com.xyz.abc W/ResourcesManager: Asset path '/system/framework/com.android.location.provider.jar' does not exist or contains no resources.
05-08 21:18:34.096 4597-4597/com.xyz.abc I/DynamiteModule: Considering local module com.google.android.gms.flags:2 and remote module com.google.android.gms.flags:0
05-08 21:18:34.096 4597-4597/com.xyz.abc I/DynamiteModule: Selected local version of com.google.android.gms.flags
05-08 21:18:34.109 4597-4597/com.xyz.abc W/DynamiteModule: Local module descriptor class for com.google.android.gms.crash not found.
05-08 21:18:34.113 4597-4597/com.xyz.abc I/DynamiteModule: Considering local module com.google.android.gms.crash:0 and remote module com.google.android.gms.crash:4
05-08 21:18:34.113 4597-4597/com.xyz.abc I/DynamiteModule: Selected remote version of com.google.android.gms.crash, version >= 4
05-08 21:18:34.125 4597-4597/com.xyz.abc I/FirebaseCrashApiImpl: FirebaseCrashApiImpl created by ClassLoader p[DexPathList[[zip file "/data/data/com.google.android.gms/app_chimera/m/00000003/DynamiteModulesC_GmsCore_prodlmp_alldpi_release.apk"],
nativeLibraryDirectories=[/vendor/lib, /system/lib]]]
05-08 21:18:34.138 4597-4597/com.xyz.abc I/DynamiteModule: Considering local module com.google.android.gms.flags:2 and remote module com.google.android.gms.flags:0
05-08 21:18:34.138 4597-4597/com.xyz.abc I/DynamiteModule: Selected local version of com.google.android.gms.flags
05-08 21:18:34.144 4597-4597/com.xyz.abc W/DynamiteModule: Local module descriptor class for com.google.android.gms.crash not found.
05-08 21:18:34.182 4597-4597/com.xyz.abc I/FA: App measurement is starting up, version: 10084
05-08 21:18:34.182 4597-4597/com.xyz.abc I/FA: To enable debug logging run: adb shell setprop log.tag.FA VERBOSE
05-08 21:18:34.182 4597-4597/com.xyz.abc D/FA: Debug-level message logging enabled
05-08 21:18:34.182 4597-4597/com.xyz.abc D/FA: AppMeasurement singleton hash: 1038524578
05-08 21:18:34.196 4597-4597/com.xyz.abc I/FA: To enable faster debug mode event logging run:
adb shell setprop debug.firebase.analytics.app com.xyz.abc
05-08 21:18:34.235 4597-4597/com.xyz.abc I/FirebaseCrash: FirebaseCrash reporting initialized com.google.android.gms.internal.zzbks@3824b269
05-08 21:18:34.235 4597-4597/com.xyz.abc I/FirebaseInitProvider: FirebaseApp initialization successful
05-08 21:18:34.236 4597-4597/com.xyz.abc I/InstantRun: starting instant run server: is main process
05-08 21:18:34.240 4597-4597/com.xyz.abc I/art: Rejecting re-init on previously-failed class java.lang.Class<com.xyz.abc.database.helper.AbcDatabaseHelper>
05-08 21:18:34.240 4597-4597/com.xyz.abc I/art: Rejecting re-init on previously-failed class java.lang.Class<com.xyz.abc.database.helper.AbcDatabaseHelper>
05-08 21:18:34.240 4597-4597/com.xyz.abc I/art: Rejecting re-init on previously-failed class java.lang.Class<com.xyz.abc.database.helper.AbcDatabaseHelper>
05-08 21:18:34.240 4597-4597/com.xyz.abc I/art: Rejecting re-init on previously-failed class java.lang.Class<com.xyz.abc.database.helper.AbcDatabaseHelper>
05-08 21:18:34.249 4597-4597/com.xyz.abc I/art: Rejecting re-init on previously-failed class java.lang.Class<com.xyz.abc.database.helper.AbcDatabaseHelper>
05-08 21:18:34.249 4597-4597/com.xyz.abc D/AndroidRuntime: Shutting down VM
05-08 21:18:34.250 4597-4597/com.xyz.abc E/UncaughtException: java.lang.NoClassDefFoundError: com.xyz.abc.database.helper.AbcDatabaseHelper
at com.xyz.abc.database.daos.UserRecordDao.<init>(UserRecordDao.java:32)
at com.xyz.abc.AbcApplication.onCreate(AbcApplication.java:140)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1012)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4553)
at android.app.ActivityThread.access$1500(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1364)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
05-08 21:18:34.261 4597-4638/com.xyz.abc I/DynamiteModule: Considering local module com.google.android.gms.tagmanager:8 and remote module com.google.android.gms.tagmanager:9
05-08 21:18:34.261 4597-4638/com.xyz.abc I/DynamiteModule: Selected remote version of com.google.android.gms.tagmanager, version >= 9
05-08 21:18:34.285 4597-4638/com.xyz.abc W/GoogleTagManager: No container asset found in /assets/containers. Checking top level /assets directory for container assets.
05-08 21:18:34.304 4597-4638/com.xyz.abc W/GoogleTagManager: Tag Manager's event handler WILL NOT be installed (no container loaded)
05-08 21:18:34.305 4597-4638/com.xyz.abc I/GoogleTagManager: Tag Manager initilization took 37ms
05-08 21:18:34.309 4597-4638/com.xyz.abc D/FA: Logging event (FE): _ae, Bundle[{_o=crash, timestamp=1494292714250, fatal=1}]
05-08 21:18:34.471 4597-4597/com.xyz.abc E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.xyz.abc, PID: 4597
java.lang.NoClassDefFoundError: com.xyz.abc.database.helper.AbcDatabaseHelper
at com.xyz.abc.database.daos.UserRecordDao.<init>(UserRecordDao.java:32)
at com.xyz.abc.AbcApplication.onCreate(AbcApplication.java:140)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1012)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4553)
at android.app.ActivityThread.access$1500(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1364)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
05-08 21:22:57.870 4597-4597/? I/Process: Sending signal. PID: 4597 SIG: 9
最佳答案
首先,尝试清理项目。过去遇到过类似的问题,清理和重建项目解决了我的问题。
其次,如果您的 AbcDatabaseHelper 类不是公开的,它将只能被相同的包/文件夹访问。
改变
class AbcDatabaseHelper {
}
到
public class AbcDatabaseHelper {
}
此外,三星设备(如 S4 Mini、S3 Mini、S4、Note 2 等)上可能缺少某些库和方法。某些第 3 方库在某些情况下可能无法正常工作。
关于三星 S4 API 21 上的 android ormlite NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43787957/
使用 ServiceStack.OrmLite,如果查询返回多个结果集,我如何访问所有结果集并将每个结果集分配给相应的 POCO。例如,我有一个包含以下代码的存储过程: SELECT * FROM U
首先,我是 ORMLite 的新手。我希望我的模型类有一个字段,它是一个字符串列表,最终将保存我的模型对象的标签列表。 我应该使用哪些 ORMLite 注释? 首先我不想拥有所有标签的表格,然后使用
在 Ormlite 中,是否可以在不编写实际 SQL 的情况下进行不区分大小写的查询? 例如,如果我正在寻找 列名 - “账户名” 并查询该列,如果我搜索“金融”,我想获得所有“金融”、“金融”、“金
我最近开始使用 ServiceStack 及其 ORMLite 框架。我在谷歌上搜索并浏览了源代码,但找不到任何相关内容。 使用 ORMLite 执行查询时,有没有办法选择特定的列? 类似的东西:Db
我正在寻找一种在 ormlite 中实现分页的好方法,我发现了另一个 question ,其中包含以下代码段: var data = db.Select(predicate).Skip((int) p
这是 Entity Framework : var department = _context.Departments .Include(dep => dep.Empl
我有一张 table CREATE TABLE [dbo].[ServiceTestCase]( [SSN] [int] IDENTITY(600000001,1) NOT NULL,
有没有办法用 servicestack/ormlite 预加载所有嵌套和子嵌套引用? public class Person { public int Id { get; set; }
继 this comment ,如何执行 ServiceStack OrmLite 查询来连接两个或多个表并从每个表中返回一些列? 使用 OrmLite Does_only_populate_Sele
我想知道是否可以查明 ORMLite 的 dao.createOrUpdate() 方法是否实际创建或更新了表行。有一个结果对象(CreateOrUpdateStatus),其中包含这些信息,但所有指
有什么方法可以返回 ServiceStack.OrmLite 中的表的子集吗? 像这样的东西: public class MyStuff { public Guid Id { get; set
使用 ormLite 我可以通过以下方式获取所有记录: myDao.queryForAll(); 如何只获取前 10 条记录而不是所有记录? 最佳答案 您必须使用 QueryBuilder 并设置限制
我正在 ServiceStack 的 OrmLite 中编写分页查询,选择页面范围内的总记录数和记录 ID。假设 query 是一些任意的 SqlExpression 选择一堆记录: var idQu
我正在努力用 ServiceStack 的 ORMLite 替换现有的“重型”商业 ORM。在重型 ORM 中,我们有能力 Hook “OnSaving”或“BeforeSaving”方法以在保存到数
我正在尝试 ServiceStack OrmLite,但现在我被这个异常难住了:A first chance exception of type 'System.NullReferenceExcept
我正在尝试 Ormlite。我发现当我插入一个带有 DateTime 属性的对象时,ormlite 应用它得到 -8:00 (我的时区是 +8)。应按字面意思插入时间。就我而言,它已经是 UTC。 但
我正在对现有的 SQL Server 数据库使用 OrmLite,该数据库已发布用于访问的存储过程。这些 SP 之一采用 3 个 int 参数,但期望其中一个或另一个为空。但是,没有任何参数被声明为可
我正在为数据可视化做一些查询,并依靠 GroupBy、Avg、Sum 和类似函数从数据库中获取良好的数据集。 我想在 ServiceStack OrmLite 中使用类似于 GroupBy 的东西。关
我希望使用 ORMLite 按多个别名表进行分组,但我似乎遇到了问题。 当在 SqlExpression 的 GroupBy 中使用具有匿名类型的 Sql.TableAlias 时,为 group b
这个周末我才第一次发现 ServiceStack,我觉得它非常棒。因此,我已经在将我所有的项目转换为它。然后我遇到了一个小障碍。 我找不到任何提到使用 OrmLite 首先从数据库开始然后将现有模式映
我是一名优秀的程序员,十分优秀!