为什么可以';Android在构建路径上的项目中找不到类?
我正在构建一个Android应用程序,我想在另一个Eclipse项目中使用一个包中的类(一个普通的Java,非Android的,如果需要的话)。我右键单击Android项目,选择properties | Java build path | Projects,并选中我想要的类。然后,我添加了一条import语句,Eclipse似乎接受该语句(即错误图标,指示它无法识别该类)。以下是主要活动的代码:为什么可以';Android在构建路径上的项目中找不到类?,android,eclipse,package,project,Android,Eclipse,Package,Project,我正在构建一个Android应用程序,我想在另一个Eclipse项目中使用一个包中的类(一个普通的Java,非Android的,如果需要的话)。我右键单击Android项目,选择properties | Java build path | Projects,并选中我想要的类。然后,我添加了一条import语句,Eclipse似乎接受该语句(即错误图标,指示它无法识别该类)。以下是主要活动的代码: package com.MeadowEast.tmptest; import learn.Card
package com.MeadowEast.tmptest;
import learn.Card; // the class I want
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.TextView;
public class MainActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView t = (TextView) findViewById(R.id.textView2);
Card c = new Card("abc","def","ghi"); // using the class
t.setText(c.getHanzi());
}
}
在非Android Java项目中使用完全相同的方法很好。但是,当我试图在模拟器中运行上面的代码时,它就消失了,错误是找不到类“learn.Card”
我曾经遇到过一个类似的JAR文件问题,并且了解到有两个必要的步骤(第二个步骤是将JAR的副本放在libs文件夹中)。这里也需要第二步吗?还是有其他问题?如果您使用源代码,请将它们放在您的项目中 如果您使用jar,则应将其放入libs文件夹中。因为,当您在设备中运行应用程序时,所有 您的代码必须在apk(excepts framework.jar)中,否则它找不到您的代码。如果你 将jar放在libs文件夹中,eclipse(即apkbuilder)将把它们打包到apk中
文件。如果您使用源代码,请将它们放在您的项目中 如果您使用jar,则应将其放入libs文件夹中。因为,当您在设备中运行应用程序时,所有 您的代码必须在apk(excepts framework.jar)中,否则它找不到您的代码。如果你 将jar放在libs文件夹中,eclipse(即apkbuilder)将把它们打包到apk中
文件。有很多方法可以管理此文件
1的好处是,当库发生更改时(api中的更改,-您必须尽全力更新到最新版本),您不会感到惊讶。3/4的好处是,如果您要更新库来处理项目,您不必不断地重新编译和导入jar。有很多方法来管理它
1的好处是,当库发生更改时(api中的更改,-您必须尽全力更新到最新版本),您不会感到惊讶。3/4的好处是,如果您要更新库以使用项目,则不必不断重新编译和导入JAR。根据您使用的IDE,有不同的答案 如果您使用的是Eclipse/ADT,那么您应该能够简单地将jar放到名为“libs”的顶级目录中。一定要把名字写对 即使这样做了,Eclipse也可能需要“抖动”以使其注意到新文件。除非您看到包含您的库的“Android私有库”条目,否则它不会注意到。尝试重新构建、重新导入、刷新等。菲 如果您使用的是Intellij/Studio(因此是Gradle),则需要向Gradle构建文件添加一行,如下所示:
compile fileTree(dir: 'libs', include: ['*.jar'])
它位于app
文件夹中build.gradle
文件的dependencies
子句中
这次jar文件本身进入目录app/libs
在你做了那个“抖动”工作室之后。“同步”,“清除缓存并重新启动”。所有的惯用伎俩。当您的库出现在“项目”窗格中的“外部库”选项卡下时,您就知道您已经成功了,这取决于您使用的IDE 如果您使用的是Eclipse/ADT,那么您应该能够简单地将jar放到名为“libs”的顶级目录中。一定要把名字写对 即使这样做了,Eclipse也可能需要“抖动”以使其注意到新文件。除非您看到包含您的库的“Android私有库”条目,否则它不会注意到。尝试重新构建、重新导入、刷新等。菲 如果您使用的是Intellij/Studio(因此是Gradle),则需要向Gradle构建文件添加一行,如下所示:
compile fileTree(dir: 'libs', include: ['*.jar'])
它位于app
文件夹中build.gradle
文件的dependencies
子句中
这次jar文件本身进入目录app/libs
在你做了那个“抖动”工作室之后。“同步”,“清除缓存并重新启动”。所有的惯用伎俩。当您的库出现在“项目”窗格的“外部库”选项卡下时,您知道您已经成功了。是的,如果它是jar,您应该将其放入libs文件夹。是的,