Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何解决;类型的层次结构不一致";Java Eclipse中的错误?_Android_Processing - Fatal编程技术网

Android 如何解决;类型的层次结构不一致";Java Eclipse中的错误?

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" })

我曾试图在Java Eclipse中使用创建一个Android应用程序,但当我即将编译它时,收到了一条错误消息“类型MainAcitvity的层次结构不一致”。这是我的密码:

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上询问。