从Android应用程序调用库的活动

时间:2015-06-19 13:02:32

标签: java android

我正在尝试将库的活动调用到应用程序项目中,但我收到的错误如下:

  

引起:java.lang.ClassNotFoundException:没有找到类   路径上的“com.sumeru.crop.activity.DSTakePictureActivity”:   DexPathList [dexElements = [zip文件   “/data/app/------.ensource-1.apk"],nativeLibraryDirectories=[/data/app-lib/------.ensource-1,   / vendor / lib,/ system / lib]]

我的软件包名称为---------.ensource,但我收到的是.ensource-1

我用来调用库活动的代码:

intent = new Intent();
intent.setClass(getApplicationContext(), Class.forName("com.sumeru.crop.activity.DSTakePictureActivity"));
            startActivity(intent);

请帮帮我;我对所有建议持开放态度。

2 个答案:

答案 0 :(得分:0)

在清单文件中声明库组件

在应用程序项目的清单文件中,您必须添加应用程序将从库项目导入的所有组件的声明。例如,您必须声明任何

<activity>, <service>, <receiver>,<provider>

,等等,以及类似的元素。

声明应在适当的时候通过其完全限定的包名引用库组件。

答案 1 :(得分:0)

你的自由AndroidManifiest的{​​{1}}必须是这样的:

Activity

你可以用:

来调用它
<activity
        android:name="com.name.of.activity"
        android:label="@string/app_name">
        <intent-filter>
            <action android:name="com.name.of.activity" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
</activity>

不要忘记在new Intent("com.name.of.activity") 中添加lib:

gradle