Подтвердить что ты не робот

Android не может найти класс из внешней банки

Я пытаюсь создать простое тестовое приложение, которое в основном расширяет учебное приложение Android Hello World, вызывая некоторые простые функции из внешнего JAR. Однако, когда я запускаю приложение, он не может найти класс из JAR. Что я делаю неправильно?

Здесь весь источник 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);
}

}

И здесь источник "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);

}
}

Когда я запускаю приложение, я получаю его в 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

а затем

11-22 12:24:52.713  2963  2963 E AndroidRuntime: java.lang.NoClassDefFoundError: com.mytests.pow.power2

Что я делаю неправильно? Спасибо!

Кстати, моя настоящая цель - использовать настоящий JAR (а не этот игрушечный) в приложении для Android. Я мог бы получить доступ к коду для этого JAR и мог бы его перестроить, но это большой кусок кода Java, и я, вероятно, столкнусь с проблемами при его перестройке, поэтому я пытаюсь использовать предварительно построенный JAR.

4b9b3361

Ответ 1

Нет необходимости строить внешнюю банку. Попробуйте удалить его из пути сборки и выполните следующие действия:

  • Создайте папку в корне вашего проекта Android под названием libs.
  • Добавьте банку в эту папку.
  • Щелкните правой кнопкой мыши банку и нажмите, чтобы добавить путь сборки.
  • Очистите проект и повторите попытку.

Ответ 2

я. Создание Jar для ваших внешних классов

II. Скопировать в папку Libs вашего проекта Android

III. Открыть Eclipse- > Щелкните правой кнопкой мыши на Jar- > Add To Build Path.

IV. Очистить проект и запустить приложение.