我想使用自定义Activity1
类来表示特定的gradle风格,但是当我尝试从MyActivity
/main
下的Activity1
启动该活动时,它不会#39} ; t将Activity1
识别为一个班级。如何构建此通信,以及在/flavor1
或/main
下的清单文件中应包含|--src/
|--flavor1/
|--java/
| |--Activity1.java
| |--res/
| |--layout/
| | |--activity1.xml
|--main/
|--java/
| |--MyActivity.java
|--res/
| |--layout/
| | |--activity_main.xml
| |--...
|--AndroidManifest.xml
的位置?我的项目结构:
sourceSets {
flavor1.java.srcDirs 'src/flavor1/java'
}
我正在加入gradle:
MyActivity
来自/main
的{{1}}我得到:
无法解析符号Activity1
P.S。作为另一种选择可能是使用广播接收器,我不确定这是否是一个好方法
答案 0 :(得分:0)
确保在flavor1
窗口中选择了Build Variants
特定的构建变体。 (在Android Studio中左下角)。选择名称中包含flavor1
字词的任何构建变体,您将在flavor1
源集中看到这些类。如果选择了另一个flavor varaint,那么该flavor的sourceset中的类将是可解析的。
答案 1 :(得分:0)
两个活动的xml文件名相同:activity_main.xml
您必须保留不同的名称,因为在资源合并期间,xml将被替换。资源合并合并产品风格和主要源集。