gpt4 book ai didi

java - 单个应用程序的多种产品风格

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

我正在查看 android 开发页面上的“产品 flavor ”,并想探索我的选择,因为我必须将现有应用程序转换为可以根据多个客户的需求轻松修改的应用程序。

考虑到我尝试引入产品 flavor ,但是每当我尝试在 1-2 次 Activity 之后运行它时,屏幕都是空白的,默认背景就位,并且我的 adb 控制台上出现了很多 class def not found 错误。

我的项目结构如下所示:

/app/src/main/
/app/src/main/assets/
/app/src/main/java/
/app/src/main/jniLibs/
/app/src/main/res/
/app/src/main/AndroidManifest.xml

/app/src/productflavor/
/app/src/productflavor/res
/app/src/productflavor/res/values/
/app/src/productflavor/res/values/strings.xml

这个 strings.xml ^ 只有一个可以正常工作的更改,即更改“app_name”值以更改应用程序的名称。

到目前为止,我在想的是“主”源目录中的文件被包含(合并?)与 flavor 分支中的文件,所以来自主目录的文件不应该自动用于产品 flavor 的目录吗?

关于运行时未找到类 def 错误:
- 如果我将所有资源(即所有图像/字符串等 Assets )从“res”文件夹复制粘贴到 flavor 的 res 目录中,这将破坏拥有通用代码库的目的并引入代码冗余
- 我是否应该将现有代码作为一个模块,然后只拥有我的独立产品风格(即/app/src/main/* 中没有任何内容)并使用 gradle 中的编译标签来编译和包含模块?我想我可以在特定风格中使用自定义布局文件,但是如果将来我需要在现有类中针对特定风格更改应用程序的功能,那么我将如何确保它工作并且不影响功能其他口味?

最佳答案

处理产品 flavor 的方法是将 flavor 共享的所有资源保留在主目录中,但是它们具有不同的任何东西都必须分离到每个 flavor 各自的目录中。如果您在某个 Activity 中具有特定 flavor ,则必须将其从/main 中删除,并将两个版本放在每个 flavor 等效目录中。

关于java - 单个应用程序的多种产品风格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31259357/

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