我正在尝试在 Android 中创建一个库项目并在其他项目中使用该库。
我创建了一个简单的库项目,其中一个布局显示了一些文本。检查它是否设置为“是图书馆”,然后继续。
我将在“bin”目录中创建的 Jar 文件复制到新项目的“assets”文件夹中(也尝试了“libs”方法,结果相同)。
我已经检查了“属性-> java 构建路径-> 订单和导出”,它就在那里并被选中。
在应用程序中,我试图从库中启动一个活动,使用:
Button btnLoad = (Button)findViewById(R.id.btnLoadLibrary);
btnLoad.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, LibraryActivity.class);
startActivityForResult(intent, 0);
}
});
导入库后:
import com.example.superlibrary.LibraryActivity;
这里没有错误。
然后,当我启动应用程序并按下按钮时,我得到:
05-01 20:24:07.030: E/AndroidRuntime(19011): FATAL EXCEPTION: main
05-01 20:24:07.030: E/AndroidRuntime(19011): java.lang.NoClassDefFoundError: com.example.superlibrary.R$layout
05-01 20:24:07.030: E/AndroidRuntime(19011): at com.example.superlibrary.LibraryActivity.onCreate(LibraryActivity.java:12)
05-01 20:24:07.030: E/AndroidRuntime(19011): at android.app.Activity.performCreate(Activity.java:5206)
05-01 20:24:07.030: E/AndroidRuntime(19011): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1083)
为了确保,我已经检查了应用程序的清单文件,并且在那里:
<activity
android:name="com.example.superlibrary.LibraryActivity"
android:label="LibraryActivity" >
</activity>
所以它被认可和包括在内......
任何想法为什么会发生此错误?(java.lang.NoClassDefFoundError)
谢谢!