我想创建一个我的android库项目的Jar文件。我的项目包含布局,字符串和Drawbles等资源。我创建了Jar文件及其工作,但是当我尝试从我的jar文件中打开自定义对话框时,它会给出错误。
02-19 15:40:13.467: E/AndroidRuntime(27766): FATAL EXCEPTION: main
02-19 15:40:13.467: E/AndroidRuntime(27766): android.content.res.Resources$NotFoundException: Resource ID #0x0
02-19 15:40:13.467: E/AndroidRuntime(27766): at android.content.res.Resources.getValue(Resources.java:1033)
02-19 15:40:13.467: E/AndroidRuntime(27766): at android.content.res.Resources.loadXmlResourceParser(Resources.java:2179)
02-19 15:40:13.467: E/AndroidRuntime(27766): at android.content.res.Resources.getLayout(Resources.java:872)
02-19 15:40:13.467: E/AndroidRuntime(27766): at android.view.LayoutInflater.inflate(LayoutInflater.java:394)
02-19 15:40:13.467: E/AndroidRuntime(27766): at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
02-19 15:40:13.467: E/AndroidRuntime(27766): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:274)
02-19 15:40:13.467: E/AndroidRuntime(27766): at android.app.Dialog.setContentView(Dialog.java:471)
02-19 15:40:13.467: E/AndroidRuntime(27766): at com.example.inappcarrierbilling.customDailog.DirectBillingDialog.onCreate(DirectBillingDialog.java:46)
02-19 15:40:13.467: E/AndroidRuntime(27766): at android.app.Dialog.dispatchOnCreate(Dialog.java:355)
02-19 15:40:13.467: E/AndroidRuntime(27766): at android.app.Dialog.show(Dialog.java:260)
02-19 15:40:13.467: E/AndroidRuntime(27766): at com.example.inappcarrierbilling.objects.BillingParams$2.onPostExecute(BillingParams.java:318)
02-19 15:40:13.467: E/AndroidRuntime(27766): at com.example.inappcarrierbilling.objects.BillingParams$2.onPostExecute(BillingParams.java:1)
02-19 15:40:13.467: E/AndroidRuntime(27766): at android.os.AsyncTask.finish(AsyncTask.java:631)
02-19 15:40:13.467: E/AndroidRuntime(27766): at android.os.AsyncTask.access$600(AsyncTask.java:177)
02-19 15:40:13.467: E/AndroidRuntime(27766): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644)
02-19 15:40:13.467: E/AndroidRuntime(27766): at android.os.Handler.dispatchMessage(Handler.java:99)
02-19 15:40:13.467: E/AndroidRuntime(27766): at android.os.Looper.loop(Looper.java:153)
02-19 15:40:13.467: E/AndroidRuntime(27766): at android.app.ActivityThread.main(ActivityThread.java:5297)
02-19 15:40:13.467: E/AndroidRuntime(27766): at java.lang.reflect.Method.invokeNative(Native Method)
02-19 15:40:13.467: E/AndroidRuntime(27766): at java.lang.reflect.Method.invoke(Method.java:511)
02-19 15:40:13.467: E/AndroidRuntime(27766): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
02-19 15:40:13.467: E/AndroidRuntime(27766): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
02-19 15:40:13.467: E/AndroidRuntime(27766): at dalvik.system.NativeStart.main(Native Method)
我不想在我的代码项目中放置may库资源。
答案 0 :(得分:2)
一种方法是
构建项目然后从bin复制jar(为此你的项目应该是一个库项目)
答案 1 :(得分:1)
Jar文件不能包含布局,drawable和字符串等资源。您必须将库作为库项目链接到非库项目。
首先确保您的library project is marked as library,然后使用here中的步骤导入库。