试图用javac:package R编译java源代码不存在

试图用javac:package R编译java源代码不存在,java,android,javac,Java,Android,Javac,我在使用javac将java源代码编译成类时遇到了这个错误 在res文件夹中有MainActivity的唯一布局,我用aapt2生成了R.java,并导入了它 我使用以下内容创建R.java: aapt2 link --manifest AndroidManifest.xml -I android.jar -R co/layout_activity_main.xml.flat --java 这里是我得到的错误 javac it/dummy/MainActivity.java -cp knox

我在使用javac将java源代码编译成类时遇到了这个错误

res
文件夹中有
MainActivity
的唯一布局,我用
aapt2
生成了
R.java
,并导入了它

我使用以下内容创建
R.java

aapt2 link --manifest AndroidManifest.xml -I android.jar -R co/layout_activity_main.xml.flat --java 
这里是我得到的错误

javac it/dummy/MainActivity.java -cp knoxsdk.jar:android.jar:it/
it/dummy/MainActivity.java:12: error: cannot find symbol
import it.dummy.R;
               ^
  symbol:   class R
  location: package it.dummy
it/dummy/MainActivity.java:19: error: package R does not exist
        setContentView(R.layout.activity_main);
                        ^
it/dummy/MainActivity.java:21: error: package R does not exist
        final Button activateBtn = findViewById(R.id.activateBtn);
                                                 ^
it/dummy/MainActivity.java:29: error: package R does not exist
        final Button installBtn = findViewById(R.id.installBtn);
                                                ^
it/dummy/MainActivity.java:37: error: package R does not exist
        final Button updateBtn = findViewById(R.id.updateBtn);
                                               ^
5 errors

我认为您需要首先编译资源,以便稍后使用
link
选项链接它们,如下所示

aapt2 compile -o co/res/ app/src/main/res/layout/layout_activity_main.xml

其他选项请参见

我假设R.java在it/dummy/中,MainActivity.java有
包it.dummy。出现错误的是类路径:应该包含
而不是
“it/”

javac it/dummy/MainActivity.java -cp knoxsdk.jar:android.jar:.

这个问题与-edited标记无关。问:你为什么要手动运行aapt2?如果1)使用Android Studio创建项目,2)删除
import.dummy.R来自您的.java源代码,然后最终使用Android Studio构建-一切“正常”吗?您的标题和问题不一致。不同的错误消息。你是对的:在“链接*它”之前需要编译布局资源。但它仍然回避了一个问题:Q:为什么不使用ANDROID STUDIO???和相关问题:为什么把ANDROID标准“R”放在一个非标准的地方,比如“it.dummy”?@palsm4 LOL。我不知道,每个人都有自己的原因。