如何启动jar文件中的活动?

时间:2014-03-28 20:14:30

标签: java android intellij-idea android-simple-facebook

我正在开发一个使用facebook sdkandroid-simple-facebook库(“包装”库)的Android应用程序。 android-simple-facebook lib取决于facebook sdk,我的应用取决于android-simple-facebook

我创建了一个jar文件(通过IDEA的模块设置中的Artificats),其中包含两个库的编译输出。
我也需要facebook sdk编译输出,因为我在AndroidManifest.xml中有对facebook的LoginActivity的引用:

<activity
android:name="com.facebook.LoginActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />

我创建这个jar文件的原因是我不是唯一一个从事这个项目的开发人员,我不希望任何开发这个项目的人都参考2个库。我只是希望他们使用我创建的静态jar 所以jar得到了创建,一切都很好,没有编译错误,但是当调用login()函数时,启动facebook的LoginActivity我猜,我得到以下异常:

Unable to resume activity {com.example.example/com.facebook.LoginActivity}: android.content.res.Resources$NotFoundException: Resource ID #0x7f02000a

我怀疑LoginActivity.onCreate()执行setContentView(R.layout.com_facebook_login_activity_layout)但我在jar文件中没有看到任何资源(例如布局文件)。

任何有关如何实现我的目标的帮助将非常感谢!


有关我的设置的一些其他信息:

  • 我的libs文件夹和jar的内容:
    libs and jar contens
  • Artificat设置:
    Artificat settings

1 个答案:

答案 0 :(得分:1)

我最终做的是将库(存储库)添加为git中的子模块和项目中的模块。 所以,我不知道答案是否真的是&#34;不,它不能完成&#34;,但这就是我现在如何解决问题的方法。

希望它可以帮助任何人。