在图书馆中打开活动作为主要活动

时间:2012-12-17 12:31:17

标签: android android-library

我正在尝试构建我的应用程序的两个不同版本。免费且价格合理的版本。通过网络搜索我看到推荐的方法是使用库。因此,我通过打开项目属性并勾选“Is Library”选项并创建单独的应用程序项目,将项目转换为库项目。我还在应用程序项目的“properties>>项目引用”页面中选择了库项目作为参考。

应用程序项目不包含任何活动。我试图打开库项目中定义的主要活动作为我的应用程序项目的主要活动。我知道我必须在我的应用程序清单中声明库项目中的活动。

这是我的应用程序项目的清单文件:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.emret.myapplication.free"
    android:versionCode="1"
    android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="16" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.emret.myapplication.MainActivity"
        android:label="My application" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>
</manifest>

这是我的库项目中的清单文件:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.emret.myapplication"
    android:versionCode="1"
    android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="16" />

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".MainActivity"
        android:label="Resimler ve Sesler" 
        android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>
</manifest>

运行应用程序项目时会抛出以下异常: 12-17 14:05:25.249:E / AndroidRuntime(1027):引起:java.lang.ClassNotFoundException:com.emret.myapplication.MainActivity

我错过了什么?

1 个答案:

答案 0 :(得分:2)

您的图书馆项目似乎未导出到APK文件中。我自己最后一次遇到这种情况,原因是因为我通过“属性 - &gt; Java构建路径 - &gt;项目”添加了库项目。

一旦我从Java构建路径中删除它并通过“Properties - &gt; Android - &gt; Add ...”添加了一个Android库,情况就得到了纠正。