2015-05-30 2 views
0

Я пытаюсь написать проект библиотеки классов Android. Сначала я попытался ссылаться на проект, но получил ошибку ClassDefNotFound. Так что я сделал, чтобы взять JAR-файл из моего проекта проекта библиотеки и включить его в свой проект. Теперь я не получаю класс не найден, но я получаю сообщение об ошибке, что он не может найти ресурсы (в библиотеке есть строка, стили, анимации ...).Ресурсы библиотеки Android в JAR

05-30 02:27:00.255: E/AndroidRuntime(2083): java.lang.NoClassDefFoundError: com.mycompany.popupdialog.R$style 
05-30 02:27:00.255: E/AndroidRuntime(2083):  at com.mycompany.popupdialog.Popupdialog.<init>(SweetAlertDialog.java:75) 
05-30 02:27:00.255: E/AndroidRuntime(2083):  at com.mycompany.popupdialog.Popupdialog.<init>(SweetAlertDialog.java:71) 
05-30 02:27:00.255: E/AndroidRuntime(2083):  at com.mycompany.androidApplication.MainActivity$2.onClick(MainActivity.java:156) 
05-30 02:27:00.255: E/AndroidRuntime(2083):  at android.view.View.performClick(View.java:4240) 
05-30 02:27:00.255: E/AndroidRuntime(2083):  at android.view.View$PerformClick.run(View.java:17721) 
05-30 02:27:00.255: E/AndroidRuntime(2083):  at android.os.Handler.handleCallback(Handler.java:730) 
05-30 02:27:00.255: E/AndroidRuntime(2083):  at android.os.Handler.dispatchMessage(Handler.java:92) 
05-30 02:27:00.255: E/AndroidRuntime(2083):  at android.os.Looper.loop(Looper.java:137) 
05-30 02:27:00.255: E/AndroidRuntime(2083):  at android.app.ActivityThread.main(ActivityThread.java:5103) 
05-30 02:27:00.255: E/AndroidRuntime(2083):  at java.lang.reflect.Method.invokeNative(Native Method) 
05-30 02:27:00.255: E/AndroidRuntime(2083):  at java.lang.reflect.Method.invoke(Method.java:525) 
05-30 02:27:00.255: E/AndroidRuntime(2083):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 
05-30 02:27:00.255: E/AndroidRuntime(2083):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
05-30 02:27:00.255: E/AndroidRuntime(2083):  at dalvik.system.NativeStart.main(Native Method) 

Как я могу получить все ресурсы, которые мне нужны в JAR-файле, без необходимости включать их в проект-хостинг?

В случае ссылки на проект - я пробовал делать все, что я нашел в Интернете, об очистке проектов, настройке проекта в заказе & Экспорт экрана - ничего не помогло.

+0

пожалуйста, добавьте банку построить путь – ravi

+0

@ravi сделал это (как уже упоминалось выше, добавили его затмить Order & Export) – developer82

ответ

1

Я думаю, что проблема заключается в том, что вы просто помещаете свою библиотечную банку в свою lib папку, но не прикрепляетесь к BuildPath.

попробовать этот

правой кнопкой мыши на баночке вы прилагается.

Гото BuildPath,

нажмите на добавление BuildPath.

Надеется, что это помогает

+0

Thianks.Как уже упоминалось в моем посте, это уже пробовало. – developer82

0

Специально для Eclipse, вам нужно будет добавить библиотеку к текущему рабочему пространству, то ссылаться на него. Смотрите эту ссылку ссылку: [1]


Чтобы получить свои ресурсы с андроид приложения от отдельного модуля, вам нужно будет захватить скомпилированный файл .aar в ваших выходов/строить/AAR папку. Оставьте его в вашей папке LIBS затем ссылаться на него, выполнив следующие действия: [2]

1) Добавьте следующие строки в хранилище блока в build.gradle так, что он выглядит примерно так:

repositories { 
    mavenCentral() 
    flatDir { 
     dirs 'libs' 
    } 
} 

2) Теперь вы ссылаться на него в своих зависимостях !:

dependencies { 
    compile 'com.kevinpelgrims.library:library:[email protected]' 
} 

[1] http://developer.android.com/tools/projects/projects-eclipse.html#ReferencingLibraryProject

[2] http://kevinpelgrims.com/blog/2014/05/18/reference-a-local-aar-in-your-android-project/

+0

Я не использую maven. Я использую eclipse. И все мои проекты построены локально. – developer82

+2

В этом случае вам может потребоваться импортировать вашу библиотеку в одну рабочую область, а затем добавить ссылку на нее, см. Http://developer.android.com/tools/projects/projects-eclipse.html#ReferencingLibraryProject – asu

+0

Спасибо! это сработало! Я хотел бы отметить это как принятый ответ. – developer82

1
  1. Я думаю, что ваше имя файла Android Menifests неверно, просто проверьте его имя пакета так же, как и запись имени файла манифеста.

  2. Восстановите свой проект. и очистите его.

  3. Перезапустите IDE

Смежные вопросы