2

私は Android アプリを作成していますが、パッケージのクラスを別の Eclipse プロジェクトで使用したいと考えています (問題がある場合は、プレーンな Java、Android 以外のプロジェクト)。Android プロジェクトを右クリックし、[プロパティ] | [プロパティ] を選択します。Java ビルド パス | プロジェクトを作成し、必要なクラスのものを確認します。次に、Eclipse が受け入れているように見える import ステートメントを追加します (つまり、クラスが認識されないことを示すエラー アイコンが消えます)。メイン アクティビティのコードは次のとおりです。

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 プロジェクトでまったく同じアプローチを使用すると、問題なく動作します。しかし、エミュレーターで上記を実行しようとすると、エミュレーターは停止し、エラーはCould not find class 'learn.Card'.

JAR ファイルで同様の問題が発生したことがあり、必要な手順が 2 つあることを知りました (2 つ目は、JAR のコピーを libs フォルダーに配置することです)。ここでも2番目のステップが必要ですか?それとも他に何か問題がありますか?

4

3 に答える 3

0

これには、使用している IDE に応じてさまざまな答えがあります。

Eclipse/ADT を使用している場合は、jar を「libs」という名前の最上位ディレクトリにドロップするだけで済みます。正確な名前を取得してください。

これを行った後でも、Eclipse は新しいファイルを認識させるために「ジグリング」が必要になる場合があります。ライブラリを含む「Android Private Libraries」のエントリが表示されない限り、認識されていません。再ビルド、再インポート、更新などを試してください。ふー。

Intellij/Studio (および Gradle) を使用している場合は、次のように Gradle ビルド ファイルに行を追加する必要があります。

compile fileTree(dir: 'libs', include: ['*.jar'])

フォルダ内のファイルのdependencies節に入ります。build.gradleapp

今回はjarファイル自体がディレクトリに入るapp/libs

その「ジグル」スタジオを実行した後。「同期」、「キャッシュをクリアして再起動」。すべての通常のトリック。ライブラリが [プロジェクト] ペインの [外部ライブラリ] タブに表示されたら、成功したことがわかります。

于 2014-07-22T02:20:04.353 に答える
-1

ソースコードを使用する場合は、プロジェクトに入れてください。

jar を使用する場合は、libs フォルダーに配置する必要があります。デバイスでアプリを実行すると、すべて

コードは apk (framework.jar を除く) に含まれている必要があります。そうしないと、コードが見つかりません。もし、あんたが

jarをlibsフォルダーに入れると、Eclipse(正確にはapkbuilder)がそれらをapkにパッケージ化します

ファイル。

于 2012-11-06T02:53:39.463 に答える