我在Android Studio中的应用程序在运行时不断崩溃
我正在关注Android Studio的OpenCV安装和筛选教程。我做的每件事都完全按照视频教程要求我做的,现在我可能已经在3台不同的计算机上重做了10次,但我总是遇到同样的问题。gradle将毫无问题地构建,因此代码中没有任何错误,但当我在模拟器上运行应用程序时,应用程序将立即崩溃 这是我的身材。格雷德尔:我在Android Studio中的应用程序在运行时不断崩溃,android,opencv4android,Android,Opencv4android,我正在关注Android Studio的OpenCV安装和筛选教程。我做的每件事都完全按照视频教程要求我做的,现在我可能已经在3台不同的计算机上重做了10次,但我总是遇到同样的问题。gradle将毫无问题地构建,因此代码中没有任何错误,但当我在模拟器上运行应用程序时,应用程序将立即崩溃 这是我的身材。格雷德尔: apply plugin: 'com.android.application' android { compileSdkVersion 26 buildToolsVersion "26
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
buildToolsVersion "26.0.0"
defaultConfig {
applicationId "com.example.anita.opencvtestattempt3"
minSdkVersion 19
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner
"android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2',
{
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:26.+'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
testCompile 'junit:junit:4.12'
compile project(':libraries:opencv')
}
下面是我运行应用程序时的日志:
07-17 16:07:51.309 4369-4369/? I/art: Not late-enabling -Xcheck:jni (already
on)
07-17 16:07:51.309 4369-4369/? W/art: Unexpected CPU variant for X86 using
defaults: x86
07-17 16:07:51.404 4369-4369/com.example.anita.opencvtestattempt3
I/InstantRun: starting instant run server: is main process
07-17 16:07:51.422 4369-4369/com.example.anita.opencvtestattempt3
D/AndroidRuntime: Shutting down VM
07-17 16:07:51.423 4369-4369/com.example.anita.opencvtestattempt3
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.anita.opencvtestattempt3, PID: 4369
java.lang.UnsatisfiedLinkError: dlopen failed: file offset for the library
"/data/app/com.example.anita.opencvtestattempt3-2/lib/x86/libopencv_java.so"
>= file size: 0 >= 0
at java.lang.Runtime.loadLibrary0(Runtime.java:977)
at java.lang.System.loadLibrary(System.java:1530)
at com.example.anita.opencvtestattempt3.MainActivity.<clinit>
(MainActivity.java:18)
at java.lang.Class.newInstance(Native Method)
at android.app.Instrumentation.newActivity(Instrumentation.java:1078)
at
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2538)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at
com.android.internal.os.ZygoteInit$MethodAndArgsC
aller.run(ZygoteInit.java:866)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
07-17 16:07:51.309 4399-4399/?I/art:未延迟启用-Xcheck:jni(已启用)
上)
07-17 16:07:51.309 4369-4369/? W/art:X86的意外CPU变体使用
默认值:x86
07-17 16:07:51.404 4369-4399/com.example.anita.opencvtesttempt3
I/InstantRun:启动即时运行服务器:是主进程
07-17 16:07:51.422 4369-4369/com.example.anita.opencvtesttempt3
D/AndroidRuntime:关闭虚拟机
07-17 16:07:51.423 4369-4369/com.example.anita.opencvtestattempt3
E/AndroidRuntime:致命异常:主
进程:com.example.anita.opencvtesttempt3,PID:4399
java.lang.UnsatisfiedLinkError:dlopen失败:库的文件偏移量
“/data/app/com.example.anita.opencvtestettempt3-2/lib/x86/libopencv_java.so”
>=文件大小:0>=0
位于java.lang.Runtime.loadLibrary0(Runtime.java:977)
位于java.lang.System.loadLibrary(System.java:1530)
请访问com.example.anita.opencvtestempt3.main活动。
(MainActivity.java:18)
位于java.lang.Class.newInstance(本机方法)
位于android.app.Instrumentation.newActivity(Instrumentation.java:1078)
在
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2538)
位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
位于android.app.ActivityThread.-wrap12(ActivityThread.java)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)上
位于android.os.Handler.dispatchMessage(Handler.java:102)
位于android.os.Looper.loop(Looper.java:154)
位于android.app.ActivityThread.main(ActivityThread.java:6077)
位于java.lang.reflect.Method.invoke(本机方法)
在
com.android.internal.os.ZygoteInit$MethodAndArgsC
aller.run(ZygoteInit.java:866)
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
看看这里,也许有些东西可以帮你验证“opencv.so”文件是由构建创建的。验证.so是否包含在apk中,路径由“dlopen”stmt指示。