首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CameraX摄像头核心:1.0.0-Beta01在Camera2Config.java defaultConfig()崩溃

CameraX摄像头核心:1.0.0-Beta01在Camera2Config.java defaultConfig()崩溃
EN

Stack Overflow用户
提问于 2020-03-26 15:28:25
回答 1查看 621关注 0票数 0

最近,我尝试了CameraX camera-core:1.0.0-beta01

Gradle:

代码语言:javascript
复制
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}"

从这句话开始:

代码语言:javascript
复制
   cameraProviderFuture = ProcessCameraProvider.getInstance(this);

然后,当我调试到Camera2Config.java时

代码语言:javascript
复制
    public CameraXConfig getCameraXConfig() {
        return defaultConfig();
    }

它在以下位置崩溃:公共静态CameraXConfig defaultConfig() {

代码语言:javascript
复制
    // Create the camera factory for creating Camera2 camera objects
    CameraFactory.Provider cameraFactoryProvider = Camera2CameraFactory::new;

我搜索了一个使用Kotlin和camera-core测试版的应用程序示例,没有任何问题。但是代码,我用的是Java版本,肯定崩溃了。

有没有人成功实现了CameraX的Java版本?还是我错过了什么?

谢谢,迪

请从Logcat中查找以下内容:

代码语言:javascript
复制
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)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-27 07:39:51

似乎是请求Java8造成的崩溃问题。在build.gradle中添加了以下内容,然后问题就解决了。

代码语言:javascript
复制
android {
    ...
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
} 
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60862604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档