我正在尝试将库的活动调用到应用程序项目中,但我收到的错误如下:
引起: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);
请帮帮我;我对所有建议持开放态度。
答案 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