我有两个行为不同的 XML 布局,唯一的区别是一个使用了新的
<androidx.fragment.app.FragmentContainerView
另一个,年长的:<fragment在 AndroidStudio 中,如所附照片所示,在第一种情况下,我看不到布局。在其他布局中,我这样做。
它是 Android Studio 3.6.3 的错误,还是定义问题,如何解决?
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/fragment"
android:name="com.example.tasktimer.MainActivityFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:layout="@layout/a_fragment_main"/>
Run Code Online (Sandbox Code Playgroud) 我渴望淘汰我们应用程序老化的 OBB Expansion Pack 系统,并将其替换为闪亮的新Play Asset Delivery(PAD,以前称为 Dynamic Asset Delivery),因此我一直在关注文档。但我对下一步该做什么感到困惑。如何到达可以点击“调试”并找到准备就绪的资源的位置,就像过去我的 OBB 在手机中的 /storage/emulated/0/Android/obb/ 处等待一样?
TLDR:我的答案如下,但如果有一种方法可以通过安装时资源包实现快速调试,我会很高兴。我的答案中描述的当前工作流程需要 1) 等待大约 5-10 分钟来构建捆绑包,2) 构建一个 APKS blob,然后 3) 从拆分安装它。
以下是我了解如何使用即装资源包的旅程记录。我希望我对我的努力的描述能够引起其他困惑的开发人员的一些搜索点击,并照亮他们的道路。
一切是如何开始的
我的目标:实现像我在 Android Studio 中点击“调试”按钮时一样无缝的情况,知道扩展已紧密安装在适当的目录中,以便为我们的应用程序提供图片和声音。在这里,我希望点击“调试”并类似地找到可供使用的图片和声音,但就在我的资产管理器中。
按照 Expansion Pack 文档的传统,PAD 文档使 --local-testing 听起来轻而易举。但随后麻烦就开始了。
因此,我首先设置了 alpha v0.15捆绑工具,希望体验“快速、迭代周期”,从而避免在开发过程中上传到 Play 商店。到目前为止,一切都很好!我使用 --local-testing 标志生成 APK 集合。
当我连接设备并运行“bundletool install-apk”命令时,混乱就出现了。Bundletool 的内容很少,并且没有太多帮助屏幕。但它吐出了这些文件:
ADB >> OK
Pushed "/sdcard/Android/data/com.myapp/files/local_testing/base-xxhdpi.apk"
Pushed "/sdcard/Android/data/com.myapp/files/local_testing/base-master_2.apk"
Pushed "/sdcard/Android/data/com.myapp/files/local_testing/base-de.apk"
Pushed "/sdcard/Android/data/com.myapp/files/local_testing/base-fr.apk"
Pushed "/sdcard/Android/data/com.myapp/files/local_testing/base-nb.apk"
Pushed "/sdcard/Android/data/com.myapp/files/local_testing/base-sv.apk"
Pushed "/sdcard/Android/data/com.myapp/files/local_testing/base-arm64_v8a_2.apk"
Run Code Online (Sandbox Code Playgroud)
我认为其中之一可能是我的资产包的名称,“my_asset_pack.apk”或类似的名称。但没有一个是。
因此,我很好奇这些文件中的哪些包含我从基础应用程序资产中分解到资产包中的资产。我识别出了本地化字符串(“de”、“fr”等)。但是我的非本地化媒体呢?(它们可能在base-master_2.apk中吗?)
我还需要做更多的事情才能让这些资产显示出来吗?到目前为止,我的安装就绪资产似乎无法在启动时从资产管理器中获得,所以我一定错过了一个步骤。
编辑:更新以反映名称从 DAD 更改为 …
想知道是否有办法关闭Android虚拟设备的新"保存状态..."功能,以便它们立即退出并且不花费几秒钟保留状态.