【发布时间】:2020-03-27 14:32:42
【问题描述】:
最近尝试了CameraX camera-core:1.0.0-beta01。
分级:
android {
compileSdkVersion 29
buildToolsVersion "29.0.2"
defaultConfig {
applicationId "com.example.dryeyescreener"
minSdkVersion 27
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
def camerax_version = "1.0.0-beta01"
implementation "androidx.camera:camera-core:1.0.0-beta01"
implementation "androidx.camera:camera-camera2:${camerax_version}"
// If you want to use the CameraX View class
implementation "androidx.camera:camera-view:1.0.0-alpha08"
// If you want to use the CameraX Extensions library
implementation "androidx.camera:camera-extensions:1.0.0-alpha08"
// If you want to use the CameraX Lifecycle library
implementation "androidx.camera:camera-lifecycle:${camerax_version}"
从这句话开始:
cameraProviderFuture = ProcessCameraProvider.getInstance(this);
然后,当我调试到 Camera2Config.java
public CameraXConfig getCameraXConfig() {
return defaultConfig();
}
它在以下位置崩溃: 公共静态 CameraXConfig defaultConfig() {
// Create the camera factory for creating Camera2 camera objects
CameraFactory.Provider cameraFactoryProvider = Camera2CameraFactory::new;
我搜索了一个使用 Kotlin 和 camera-core beta 版本的应用程序示例,没有任何问题。但是代码,我用的是Java版的,肯定崩溃了。
有人成功实现了CameraX Java 版本吗?还是我错过了什么?
谢谢, 迪
请从 Logcat 中找到以下内容:
java.lang.BootstrapMethodError: Exception from call site #0 bootstrap method
at androidx.camera.camera2.Camera2Config.defaultConfig(Camera2Config.java:52)
at androidx.camera.camera2.Camera2Config$DefaultProvider.getCameraXConfig(Camera2Config.java:88)
at androidx.camera.core.CameraX.getOrCreateInstance(CameraX.java:823)
at androidx.camera.lifecycle.ProcessCameraProvider.getInstance(ProcessCameraProvider.java:103)
at com.example.screener.MainActivity.onCreate(MainActivity.java:144)
at android.app.Activity.performCreate(Activity.java:7326)
at android.app.Activity.performCreate(Activity.java:7317)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3072)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3235)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1926)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:6986)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1445)
Caused by: java.lang.ClassCastException: Bootstrap method returned null
at androidx.camera.camera2.Camera2Config.defaultConfig(Camera2Config.java:52)
at androidx.camera.camera2.Camera2Config$DefaultProvider.getCameraXConfig(Camera2Config.java:88)
at androidx.camera.core.CameraX.getOrCreateInstance(CameraX.java:823)
at androidx.camera.lifecycle.ProcessCameraProvider.getInstance(ProcessCameraProvider.java:103)
at com.example.screener.MainActivity.onCreate(MainActivity.java:144)
at android.app.Activity.performCreate(Activity.java:7326)
at android.app.Activity.performCreate(Activity.java:7317)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3072)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3235)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1926)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:6986)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1445)
【问题讨论】:
-
你能分享崩溃的堆栈跟踪吗?
-
您好 Husayn,谢谢。请找到以下内容:
-
您好 Husayn,感谢您的提醒。崩溃问题解决了。
-
很高兴您能够解决您的问题。
标签: java android android-camerax