gpt4 book ai didi

安卓动态特性 : Error -2 Module Unavailable

转载 作者:行者123 更新时间:2023-12-05 00:03:34 25 4
gpt4 key购买 nike

我一直在调试一整天都没有结果,我已经按照每个文档和谷歌代码实验室进行操作并将包上传到内部测试,但错误仍然存​​在:模块不可用,下面是我的实现:

模块 AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:dist="http://schemas.android.com/apk/distribution"
package="com.appshive.shop"
>

<dist:module
dist:instant="false"
dist:title="@string/measure">
<dist:delivery>
<dist:on-demand />
</dist:delivery>
<dist:fusing dist:include="true" />
</dist:module>
</manifest>

模块构建.gradle:

plugins {
id 'com.android.dynamic-feature'
id 'kotlin-android'
id 'kotlin-kapt'
id 'kotlin-android-extensions'
}
android {
compileSdkVersion 30
buildToolsVersion "30.0.2"

defaultConfig {
minSdkVersion 22
targetSdkVersion 30
}

buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
}

并且该模块具有 fragment 以及它们的一些依赖项。

在基本应用 Android list 中:

我已经添加了这个

dynamicFeatures = [':measure']
android:name=".core.ShopApplication"

我在 build.gradle 中的应用程序 ID 是:com.appshive.ecommerce

我的应用程序类扩展 SplitCompatApplication

class ShopApplication: SplitCompatApplication(){

override fun onCreate() {
super.onCreate()
Timber.plant(DebugTree())
SplitCompat.install(this)
startKoin {
androidContext(this@ShopApplication)
modules(listOf(appModule, repoModule))
}

}

我在所有项目中只有 1 个 Activity :主 Activity ,它包含

private lateinit var manager: SplitInstallManager

在 onCreate 中我初始化了它:manager = SplitInstallManagerFactory.create(这个)

我正在检查模块是否可用 我正在打开其他 fragment :

val request = SplitInstallRequest.newBuilder()
.addModule(name)
.build()

manager.startInstall(request).addOnSuccessListener {
makeToast("Successss")
}.addOnFailureListener { e->
makeToast(e.message.toString()+" as")
}

我正在向管理器注册监听器:

override fun onPause() {
manager.unregisterListener(listener)
super.onPause()
}
override fun onResume() {
manager.registerListener(listener)
super.onResume()
}

就是这样,然后我使用我的 key 生成签名包并将其上传到内部测试,然后我将它安装到我的手机上然后发生错误:错误 -2 模块不可用

我已经尝试了互联网上的所有方法,但没有成功,我不知道我错过了什么。是因为 bundle 签名还是因为打包?

当我更改模块以安装时间模块时,它就像一个魅力。

最佳答案

当我处理此功能时,我仅使用 Playstore 的内部测试功能进行测试。

后来我才知道还有另一种方法可以使用名为 Bundle Tool 的工具在本地执行此操作.

您可以从给定的链接下载它。下载 Bundle Tool 文件后,您需要使用它生成 apk。

bundletool build-apks 
--bundle=app/build/outputs/bundle/debug/bundle.aab
--output=my_app.apks

引用:Android App Bundle

附言。当我在我的应用程序中执行此功能时,我是使用 Java 代码开发它的,但我 100% 确定它也适用于 kotlin 代码。

关于安卓动态特性 : Error -2 Module Unavailable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66173144/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com