【问题标题】:Trying to compile java source with javac: package R does not exist尝试使用 javac 编译 java 源代码:包 R 不存在
【发布时间】:2019-11-09 22:31:52
【问题描述】:

使用 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

【问题讨论】:

  • 这个问题与R无关 - 已编辑标签。问:你为什么要手动运行 aapt2?如果您 1) 使用 Android Studio 创建项目,2) 从您的 .java 源中删除 import it.dummy.R;,最后 3) 使用 Android Studio 构建 - 一切都“正常工作”吗?
  • 您的标题和您的问题不一致。不同的错误消息。

标签: java android javac


【解决方案1】:

我假设 R.java 在其中/dummy/ 并且 MainActivity.java 有 package it.dummy;。似乎有问题的是类路径:应该包含 '.' 而不是 'it/'

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

【讨论】:

    【解决方案2】:

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

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

    另请参阅this answer 了解其他选项。

    【讨论】:

    • 你是对的:需要先编译布局资源,然后才能“链接*”。但它仍然引出了一个问题:问:为什么不直接使用ANDROID STUDIO??? 以及相关问题:为什么将Android标准“R”放在像“it.dummy”这样的非标准位置???
    • @paulsm4 哈哈。我不知道,每个人都有自己的理由。
    猜你喜欢
    • 2012-04-06
    • 2014-11-03
    • 2012-11-10
    • 1970-01-01
    • 2017-04-10
    • 1970-01-01
    • 1970-01-01
    • 2017-10-04
    • 1970-01-01
    相关资源
    最近更新 更多