Android 如何解决;类型的层次结构不一致";Java Eclipse中的错误?
我曾试图在Java Eclipse中使用创建一个Android应用程序,但当我即将编译它时,收到了一条错误消息“类型MainAcitvity的层次结构不一致”。这是我的密码:Android 如何解决;类型的层次结构不一致";Java Eclipse中的错误?,android,processing,Android,Processing,我曾试图在Java Eclipse中使用创建一个Android应用程序,但当我即将编译它时,收到了一条错误消息“类型MainAcitvity的层次结构不一致”。这是我的密码: public class MainActivity extends PApplet { public static void main(String args[]) { PApplet.main(new String[] { "--present", "com.RDP.MainActivity" })
public class MainActivity extends PApplet {
public static void main(String args[])
{
PApplet.main(new String[] { "--present", "com.RDP.MainActivity" });
}
Vector path = new Vector();
public void setup(){
size(550,550, P3D);
smooth();
}
public void draw(){
background(255);
LineSimplifier1 pt;
noFill();
strokeWeight(1);
beginShape();
for (int i=0; i < path.size(); i++)
{
pt = (LineSimplifier1)path.elementAt(i);vertex(pt.x,pt.y);
}
endShape();
strokeWeight(5);
beginShape(POINTS);
for (int i=0; i < path.size(); i++)
{
pt = (LineSimplifier1)path.elementAt(i);vertex(pt.x,pt.y);
}
endShape();
}
public void mousePressed(){
path = new Vector();
}
public void mouseDragged(){
path.add(new LineSimplifier1(mouseX, mouseY));
}
public void mousePressed1(){
if (path.size() > 1)
{
LineSimplifier1 [] tmp = new LineSimplifier1[path.size()-1];
for (int i =0; i < path.size()-1; i++)
{
tmp[i] = (LineSimplifier1)path.elementAt(i+1);
}
path = new Vector();
path.addAll(Arrays.asList(AndroidRDPActivity.simplifyLine2D(5,tmp)));
}
}
}
public类main活动扩展了PApplet{
公共静态void main(字符串参数[])
{
main(新字符串[]{--present”,“com.RDP.MainActivity”});
}
向量路径=新向量();
公共作废设置(){
尺寸(550550,P3D);
光滑的();
}
公众抽签(){
背景(255);
线性简化器1 pt;
noFill();
冲程重量(1);
beginShape();
对于(int i=0;i1)
{
LineSimplifier1[]tmp=newlineSimplifier1[path.size()-1];
对于(int i=0;i
另一个错误是,“无法解析java.awt.event.MouseListener类型。它是从必需的.class文件中间接引用的”。请帮我解决这个问题。谢谢。错误表明您缺少从正在使用的库中引用的一些库。检查处理框架和其他框架(如果有)的要求和“如何开始”
在您的例子中,处理似乎需要java.awt,它是java SE的核心部分,但在Android SDK中不存在。在将PDE处理项目导入Eclipse时也遇到了同样的问题 我通过这个链接找到了一个解决方案 如您所见,他不导入core.jar(从processing/lib导入),而是使用一个基本处理项目(通过svn下载)作为库。 然后编辑Activity类以扩展Papplet而不是Activity等。。。 然后我将java代码从处理导出的项目(那些没有运行的项目)复制到我的新项目中,并将GIF等从assets文件夹复制到我的新项目中,然后一切都正常运行(在emulator中) 一个注意事项-在下载的项目中配置构建路径,以便ANDROID_LIB指向您的…platforms/ANDROID-2.1/ANDROID.jar 明天,我将试图找到错误的原因(我怀疑导出项目的core.jar或ant.properties/build.xml),但目前我在试图弄清楚这一点时已经睡不着了
希望我能帮助我遇到了这个问题,并通过以下方式解决了它: 1-执行处理-Android Wiki页面中所写的操作 “制作Android应用程序的最佳方法是使用Subclipse在Eclipse中将源代码/Android/core作为自己的项目进行检查。将该项目称为Android core。然后使用Eclipse ADT创建一个新的Android项目,并将Android core作为“必需项目”包含。” 编辑:正确的SVN路径为 注意:这样做就不需要将processing的android core.jar导入到您的项目中 2-安装jdk7u7并将其添加到eclipse中,然后在MyAndroidProject-Properties-Build Path中,在add library中添加jdk7u7库
错误消失了,但不幸的是,该应用程序在emulator中崩溃,仍在试图找出原因。在我的例子中,这是由库冲突引起的。控制台中的错误打印如下:
[2013-04-10 21:06:38 - miaoqu-lib] Found 3 versions of android-support-v4.jar in the dependency list,
[2013-04-10 21:06:38 - miaoqu-lib] but not all the versions are identical (check is based on SHA-1 only at this time).
[2013-04-10 21:06:38 - miaoqu-lib] All versions of the libraries must be the same at this time.
[2013-04-10 21:06:38 - miaoqu-lib] Versions found are:
[2013-04-10 21:06:38 - miaoqu-lib] Path: /home/sunshine/workspace/miaoqu-lib/libs/android-support-v4.jar
[2013-04-10 21:06:38 - miaoqu-lib] Length: 385685
[2013-04-10 21:06:38 - miaoqu-lib] SHA-1: 48c94ae70fa65718b382098237806a5909bb096e
[2013-04-10 21:06:38 - miaoqu-lib] Path: /home/sunshine/workspace/miaoqu-lib-actionbarsherlock/libs/android-support-v4.jar
[2013-04-10 21:06:38 - miaoqu-lib] Length: 393154
[2013-04-10 21:06:38 - miaoqu-lib] SHA-1: 307c1cc532eabbf1d135b43e5c983c9da700449d
[2013-04-10 21:06:38 - miaoqu-lib] Path: /home/sunshine/workspace/miaoqu-lib-slidingmenu/libs/android-support-v4.jar
[2013-04-10 21:06:38 - miaoqu-lib] Length: 393154
[2013-04-10 21:06:38 - miaoqu-lib] SHA-1: 307c1cc532eabbf1d135b43e5c983c9da700449d
[2013-04-10 21:06:38 - miaoqu-lib] Jar mismatch! Fix your dependencies
因此,我将3个项目的
lib
文件夹中的android-support-v4.jar
文件替换为同一个文件,并解决了问题。希望这有帮助。您的项目还应该参考android-support-v4.jar(包含在ABS的libs文件夹中)。因此,属性->Java构建路径->添加jar。。。然后从ActionBarSherlock->libs中选择那个jar,我想你不需要扩展PAApplet,它还会运行吗?因为后续代码是处理的保留字?我认为您的主要活动应该扩展Activity而不是Applet,是否有扩展PAApplet的具体原因?因为我正在尝试使用处理软件运行程序,所以我必须将其扩展到Papplet谢谢您的建议。但是我将如何解决第二个问题,“无法解析java.awt.event.MouseListener类型。它是从必需的.class文件间接引用的”??我试图添加处理的CORE.JAR,但错误仍然存在。我以前从未听说过处理,因此我无法帮助您,抱歉。确保您正确地遵循了他们的指示,在他们的论坛或smthn上询问。