Estoy tratando de crear una aplicación de prueba simple que amplíe básicamente la aplicación de tutorial Hello World de Android invocando algunas funciones simples de un JAR externo. Sin embargo, cuando ejecuto la aplicación, no puede encontrar la clase del JAR. ¿Qué estoy haciendo mal?Android no puede encontrar la clase desde el jar externo
Aquí es toda fuente del JAR:
package com.mytests.pow;
public class power2 {
private double d;
public power2()
{
d = 0.0;
}
public String stp2(double dd)
{
d = dd*dd;
return String.format("%e", d);
}
}
y aquí está la fuente de "Hello World ++":
package com.myLuceneTests.namespace;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import com.mytests.pow.*;
public class AndroidSimpleSIH_EclipseActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
power2 pp = new power2();
String iout = pp.stp2(12.0);
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
tv.setText(iout);
setContentView(tv);
}
}
Cuando ejecuto la aplicación, me sale esto en Logcat:
11-22 12:24:52.697 2963 2963 E dalvikvm: Could not find class 'com.mytests.pow.power2', referenced from method com.myLuceneTests.namespace
.AndroidSimpleSIH_EclipseActivity.onCreate
y luego
11-22 12:24:52.713 2963 2963 E AndroidRuntime: java.lang.NoClassDefFoundError: com.mytests.pow.power2
¿Qué estoy haciendo mal? ¡Gracias!
Por cierto, mi objetivo real es utilizar un JAR real (en lugar de este juguete) en una aplicación de Android. Puede que tenga acceso al código para ese JAR y pueda reconstruirlo, pero es una gran parte del código Java y es probable que encuentre problemas al reconstruirlo, así que estoy tratando de usar el JAR preconstruido.
¿Agregó el Jar a la ruta de compilación para su proyecto? – slayton
Slayton, esto es lo que hice: –
project-> properties-> java build path-> libraries tab-> Add External JARs. ¿Es esto a lo que se refiere, o hay otro paso que debo dar? –