我正在尝试使用AndroidX.Camera包创建一个按需功能模块。当活动膨胀了包括PreviewView在内的布局时,我感到崩溃。注意,如果我只是使用像TextView这样的简单的东西,那么模块会正确地加载并显示正确的布局,所以我不认为(但愿无论如何)这是我的动态特性设置/下载的一个问题。
同样,如果我在基础应用模块中包含相机依赖关系,这一切都很好,但似乎我应该能够在动态功能模块中做到这一点。我不知道我错过了什么..有人以前遇到过吗?
特征模块的构建。分级:
apply plugin: 'com.android.dynamic-feature'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
android {
compileSdkVersion 29
defaultConfig {
minSdkVersion 23
targetSdkVersion 29
versionCode 1
versionName "1.0"
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation project(':app')
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.71"
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.core:core-ktx:1.3.1'
def constraintLayoutVersion = "2.0.0-beta3"
implementation "androidx.constraintlayout:constraintlayout:$constraintLayoutVersion"
// CameraX core library
def camerax_version = "1.0.0-beta06"
implementation "androidx.camera:camera-core:${camerax_version}"
implementation "androidx.camera:camera-camera2:${camerax_version}"
implementation "androidx.camera:camera-lifecycle:${camerax_version}"
implementation "androidx.camera:camera-view:1.0.0-alpha13"
implementation "androidx.camera:camera-extensions:1.0.0-alpha13"
implementation "io.reactivex.rxjava3:rxandroid:3.0.0"
// androidx
implementation "androidx.annotation:annotation:1.0.0"
implementation "androidx.appcompat:appcompat:1.0.0"
implementation "androidx.cardview:cardview:1.0.0"
implementation "androidx.gridlayout:gridlayout:1.0.0"
implementation "androidx.palette:palette:1.0.0"
implementation "androidx.recyclerview:recyclerview:1.0.0"
}
活动布局文件:
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.camera.view.PreviewView
android:id="@+id/viewFinder"
android:layout_width="match_parent"
android:layout_height="450dp"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
功能模块中的活动:
class PhotoActivity: AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_photo)
}
override fun attachBaseContext(newBase: Context?) {
super.attachBaseContext(newBase)
SplitCompat.installActivity(this)
}
}
堆栈跟踪:
2020-10-06 10:53:03.861 27659-27659/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.sample.android.debug, PID: 27659
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.sample.android.debug/com.sample.android.image.PhotoActivity}: android.view.InflateException: Binary XML file line #10 in com.sample.android.debug.image:layout/activity_photo: Binary XML file line #10 in com.sample.android.debug.image:layout/activity_photo: Error inflating class androidx.camera.view.PreviewView
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3270)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
Caused by: android.view.InflateException: Binary XML file line #10 in com.sample.android.debug.image:layout/activity_photo: Binary XML file line #10 in com.sample.android.debug.image:layout/activity_photo: Error inflating class androidx.camera.view.PreviewView
Caused by: android.view.InflateException: Binary XML file line #10 in com.sample.android.debug.image:layout/activity_photo: Error inflating class androidx.camera.view.PreviewView
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
at android.view.LayoutInflater.createView(LayoutInflater.java:854)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:1006)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:961)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1123)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1084)
at android.view.LayoutInflater.inflate(LayoutInflater.java:682)
at android.view.LayoutInflater.inflate(LayoutInflater.java:534)
at android.view.LayoutInflater.inflate(LayoutInflater.java:481)
at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:555)
at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:161)
at com.sample.android.image.PhotoActivity.onCreate(PhotoActivity.kt:18)
at android.app.Activity.performCreate(Activity.java:7825)
at android.app.Activity.performCreate(Activity.java:7814)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1306)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
2020-10-06 10:53:03.861 27659-27659/? E/AndroidRuntime: Caused by: java.lang.NoSuchMethodError: No direct method <init>(Ljava/lang/Object;)V in class Landroidx/lifecycle/MutableLiveData; or its super classes (declaration of 'androidx.lifecycle.MutableLiveData' appears in /data/app/com.sample.android.debug-a4U4CmSx2nFr8mxMFCrakg==/base.apk)
at androidx.camera.view.PreviewView.<init>(PreviewView.java:80)
这可能会帮到一些人,我的问题是不包括所需的
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
在我的应用程序的build.grade
文件中。这里提到了
问题内容: 我正在Cython中构建一个程序包。我使用以下作为结构: 但是,在Python 3中安装时出现错误。它在Python 2中运行,但是在Python 3中未编译,但出现以下错误: 动态模块未定义模块导出功能 我怎么解决这个问题?是不编译的原因的结构吗? 问题答案: 您需要使用Python 3(可能是)调用setup.py 。这是因为Python 3为模块启动时调用的函数定义了不同的名称,
ts 中为 axios 的 config 属性约束新增自定义属性,导致 axios 其他工具函数报错,报错信息如下:Property 'get' does not exist on type 'typeof import("axios")'. 查了一下是因为 axios 模块声明导致 axios 模块被覆盖,请问这种问题该如何解决呢
问题内容: 我有一台受信任的远程服务器,其中存储了许多自定义Python模块。我可以通过HTTP(例如,使用)作为文本/纯文本来获取它们,但是我无法将获取的模块代码保存到本地硬盘上。如何将代码作为完全可操作的Python模块(包括其全局变量和导入)导入? 我想我必须使用和模块功能的某种组合,但是我还无法使其工作。 问题答案: 看起来这应该可以解决问题:导入动态生成的模块 另外,按照ActiveSt
16.6. 动态导入模块 好了,大道理谈够了。让我们谈谈动态倒入数据吧。 首先,让我们看一看正常的导入模块。 import module 语法查看搜索路径寻找已命名模块并以名字导入它们。你甚至于可以以这种方法,以逗号分割同时导入多个模块,本章代码前几行就是这样做的。 例 16.13. 同时导入多个模块 import sys, os, re, unittest 这里同时导入四个模块:sys (
模块功能 nomodule 禁用内核模块加载功能(CONFIG_MODULES)。 [KNL] module.sig_enforce 强制内核在加载模块时检查模块签名(CONFIG_MODULE_SIG),并且只接受具有合法签名的模块。如果内核开启了CONFIG_MODULE_SIG_FORCE,那么无论是否使用此选项,都将强制检查模块的签名。
一、简介 本主要介绍PHPCMS内置相关模块的标签调用方式 二、目录 内容模块 评论模块 投票模块 公告模块 专题模块 会员模块 友情链接模块 企业黄页