问题标签 [android-app-bundle]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - How can I use Android expansion files using App Bundle?
I'm developing an app using App Bundle.
The problem is that I need to add a large video resource file into the app. The first thing I thought of was streaming the video, but that is not possible for now. So I have to download it for the first time and keep it until there is an update. I found out that using expansion files is the suitable solution for this problem. After some struggle, I found out that the Google Play console doesn't show adding expansion files for the App Bundle.
Does anyone have an answer to this? Maybe dynamic delivery can be a solution for this?
Thank you.
android - 使用 Android App Bundle 时,Crashlytics 不再上传映射文件
运行时Build -> Generate Signed Bundle / SDK
然后选择Android App Bundle
myApp.aab
它使用 play store 签名功能生成一个新文件。以及中的常规映射文件myApp/outputs/mapping/release/mapping.txt
出于某种原因,Crashlytics 无法获取这些信息。
有什么方法可以手动触发 Crashlytics 的上传过程?
经测试
- 摇篮构建:3.2.1
- 崩溃分析:2.9.8
- io.fabric.tools:gradle:1.+
- Android Studio 3.2.1(Windows)
android - 如何从 Android App Bundle 中排除 ABI?
我知道在 Gradle 中生成拆分时可以选择排除 ABI,如下所示:
这里是拆分配置的官方参考
现在建议在将您的应用程序发布到 Play 商店时使用 App Bundles,我没有看到任何选项可以通过使用 Gradle 或 Play 商店发布控制台从该捆绑包中排除 ABI。
到目前为止,我发现的唯一线索是您可以启用/禁用特定的拆分变体。例如,这里是如何根据文档完全禁用 ABI 捆绑拆分:
但是没有提及如何禁用/启用特定的 ABI 集。
我已经abiFilters
指定排除不支持的 NDK,但看起来它对 App Bundle 没有影响。
更新:我假设abiFilters
正在指定要从 App Bundle 中排除的 ABI,但它完全相反,他们的目的是列出要包含的 ABI。在此澄清之后,一切似乎都正常工作。
android - 我可以在本地测试从捆绑包部署的即时应用程序吗?
可以使用捆绑工具测试可安装的 App Bundle。 https://developer.android.com/studio/command-line/bundletool
最近,Google 增加了以 App Bundle 格式发布 Instant Apps 的功能。有没有办法从本地捆绑包中测试即时应用程序部署?喜欢
android - android动态交付无法获得用户确认
当用户取消需要用户确认的下载请求时,请求状态应该变为 CANCELED。但是,状态侦听器似乎没有收到该状态更改。下面是监听器的示例代码。任何想法?先感谢您!
android - 部署 Android 应用程序包时出错
在 Google Play 控制台中,我正在尝试测试以前使用 APK 部署到应用程序包的应用程序的更新。
我正在生成 APK(使用构建代码 4)并在内部测试轨道中创建一个新版本。此版本上传发布成功。
在第二步中,我将基于相同的代码库生成一个应用程序包(使用构建代码 5)。上传成功,但在尝试发布应用程序时会引发错误:
错误:您无法在已安装的轨道中发布即时启用的 Android App Bundle。
应用版本: 链接
评论摘要中的错误: 链接
我本来希望能够将应用程序包作为应用程序更新上传,但错误似乎恰恰相反。
我应该如何进行才能将应用程序包作为迄今为止使用 APK 部署的应用程序的更新?
更新:在将应用程序包发布为第一个部署时,我也遇到了错误。
android - 带有 AppBundle 和数据绑定的 ProGuard:IllegalStateException
我有一个带有数据绑定 ViewModel 的多模块项目(我使用 Android App Bundles)。但是,当我启用Proguard
应用程序崩溃并出现以下错误:
当我删除模块并创建一个app
模块时,一切正常。当我禁用Proguard
时,它也可以正常工作。这是我的一部分proguard-rules.pro
:
在build.gradle
:
所以错误指向这行代码:
也许任何想法如何解决?
android - 当我使用 arm64-v8a 设备下载 App Bundle 时,如何强制 Play 商店仅提供 armeabi-v7a APK?
我目前正在测试使用 Unity Android 项目作为动态模块部署单独的应用程序。所述项目只有本地库文件armeabi-v7a
。x86
它可以正常工作bundletool install-apks --apks <path of my built APKS file with the armeabi-v7a libs> --adb <path to adb> --modules=<Unity module name>
,生成 Unity 模块的armeabi-v7a
apk 就好了,但是当我将它部署到 Play 商店时,它由于某种原因崩溃了 - 不幸的是,当它发生时我没有检查 logcat。
armeabi-v7a
我通过将文件复制到arm64-v8a
模块中的文件夹中来稍微复制了该崩溃。这是UnsatisfiedLinkError
与UnityPlayer
的生命周期通知程序或其他东西有关的,在这种特殊情况下,是由设备需要 64 位库而arm64-v8a
文件夹中的库是 32 位引起的。
我认为这意味着 PlayStore 没有提供 Unity 模块的库,因为它是一个arm64-v8a
设备,而唯一可用的变体是armeabi-v7a
and x86
,尽管我可能并且很可能是错误的。
作为记录
存在于我的基本模块的 Gradle 文件和 Unity 模块的文件中,我将bundle
块从 Unity 模块移动到我的基本模块。
那么我错过了什么?
android - 如何根据 App Bundle 上支持的纹理压缩拆分资产?
如标题中所述,如何根据设备支持的纹理压缩来拆分 Android App Bundle 上的 assets 文件夹。例如,如果应用程序支持 ASTC、ETC2 和 ETC1。
android - 生成签名包(.aab)文件时图像文件上的Android Studio gradle错误
在生成“签名包”文件(即.aab)以将其上传到播放商店时,gradle build 显示我在登录页面上使用的背景图像(splash_bg.png)错误。
注意:签名的 apk 已正确生成,并且在我测试过的所有设备中都可以正常工作。
Android 支持信息。在 Gradle 中 minSdkVersion 17 targetSdkVersion 28 versionCode 27
任何帮助,将不胜感激。
请在下面找到错误日志。
org.gradle.internal.UncheckedException: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2InternalException: AAPT2 aapt2-3.3.0-5013011-windows 守护进程#0: 编译期间出现意外错误'D :\Workspace App Album\31-10-2018\appa-android\app\src\main\res\drawable-xxhdpi\splash_bg.png',试图停止守护进程。这在正常情况下不应该发生,如果发生,请提出问题。在 org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:63) 在 org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java) 的 org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:40) :76) 在 org.gradle.api 的 org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:50)。concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2InternalException: AAPT2 aapt2-3.3.0-5013011-windows Daemon #0: Unexpected error during compile 'D:\Workspace App Album\31-10-2018\ appa-android\app\src\main\res\drawable-xxhdpi\splash_bg.png',试图停止守护进程。这在正常情况下不应该发生,如果发生,请提出问题。在 java.util.concurrent.ForkJoinTask.get(ForkJoinTask.java:1006) 在 com.android.ide.common.workers.ExecutorServiceAdapter.close(ExecutorServiceAdapter.kt:56) 在 com.android.build.gradle.internal.aapt .WorkerExecutorResourceCompilationService.close(WorkerExecutorResourceCompilationService.kt:67) 在 com.android.build.gradle.tasks.MergeResources.doFullTaskAction(MergeResources.java:268) 在 com.android.build.gradle.internal.tasks。在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 的 IncrementalTask.taskAction(IncrementalTask.java:106) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73) ... 126 更多原因:com.android。 builder.internal.aapt.v2.Aapt2InternalException: AAPT2 aapt2-3.3.0-5013011-windows 守护进程 #0: 编译 'D:\Workspace App Album\31-10-2018\appa-android\app\src\ 期间出现意外错误main\res\drawable-xxhdpi\splash_bg.png',试图停止守护进程。这在正常情况下不应该发生,如果发生,请提出问题。在 com.android.builder。Aapt2CompileWithBlameRunnable.run(Aapt2CompileWithBlameRunnable.kt:34) at com.android.ide.common.workers.ExecutorServiceAdapter$submit$submission$1.run(ExecutorServiceAdapter.kt:39) at java.util.concurrent.ForkJoinTask$AdaptedRunnableAction.exec(ForkJoinTask .java:1386) 在 java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) 在 java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056) 在 java.util.concurrent.ForkJoinPool。 runWorker(ForkJoinPool.java:1692) at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157) 原因:java.io.IOException: AAPT2 进程意外退出。错误输出:util.concurrent.ForkJoinTask$AdaptedRunnableAction.exec(ForkJoinTask.java:1386) at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java: 1056) at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157) 原因:java.io.IOException: AAPT2 进程意外退出。错误输出:util.concurrent.ForkJoinTask$AdaptedRunnableAction.exec(ForkJoinTask.java:1386) at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java: 1056) at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157) 原因:java.io.IOException: AAPT2 进程意外退出。错误输出:run(ForkJoinWorkerThread.java:157) 原因:java.io.IOException:AAPT2 进程意外退出。错误输出:run(ForkJoinWorkerThread.java:157) 原因:java.io.IOException:AAPT2 进程意外退出。错误输出: