Intereting Posts
Получить координаты из аппаратного GPS Ошибка с привязкой FloatingActionButton в библиотеке поддержки 24.2.1 Выделите пользовательский элемент списка при длительном нажатии Как клонировать удаленный репозиторий git с Android Studio? Использование OpenMAX (IL?) Для декодирования аудио / видео на Android Параметры низкоэнергетического подключения Bluetooth для Android, iOS и Win8 Android Показать активность Заголовок / строка состояния вверху после того, как она скрыта Picasso не загружает изображение Android – Изображения из папки «Активы» в GridView Как показать изображение в теле письма? Деятельность не назначается для деятельности Какие функции имеют Прогрессивные веб-приложения для родных приложений и наоборот, на Android ManagedQuery () vs context.getContentResolver.query () vs android.provider.something.query () Является ли GC_FOR_ALLOC более «серьезным» при исследовании использования памяти? Как получить доступ к локальным файлам файловой системы в эмуляторе Android?

Ресурсы по вспомогательному модулю sibling, проект Gradle

Я пытаюсь перенести проект моей компании с Maven на Gradle, до сих пор мне удалось преобразовать все POM в соответствующие файлы build.gradle, но при создании я столкнулся с проблемой в дополнительном модуле.

- Core-UI ---- Utils ---- FieldPanels 

Дополнительный модуль FieldPanel использует цвета и другие ресурсы, определенные в Utils. Я попытался добавить проект Utils как зависимость, но это не сработало, чего мне не хватает?

 /home/development/AndroidStudioProjects/com.project/core-ui/common.android.fieldpanels/build/bundles/debug/res/layout/base_summary_step_layout.xml:2: error: Error: No resource found that matches the given name (at 'background' with value '@color/wizard_summary_bg'). 

Utils gradle.build

 buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.5.2' } } apply plugin: 'android-library' android { sourceSets { main { manifest { srcFile 'AndroidManifest.xml' } res { srcDirs = [ 'res' ] } } } compileSdkVersion 15 buildToolsVersion '17.0' dependencies { compile group: 'com.company.ipos.android', name: 'commons.pos.micropos.api', version: '0.0.35-SNAPSHOT' compile group: 'org.slf4j', name: 'slf4j-api', version: '1.6.5' } } repositories { maven { credentials { username mavenUser password mavenPassword } url repoUrl } maven { credentials { username mavenUser password mavenPassword } url libsReleasesUrl } maven { credentials { username mavenUser password mavenPassword } url libsSnapshotsUrl } } 

ПолеПанели gradle.build

 buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.5.2' } } apply plugin: 'android-library' repositories { maven { credentials { username mavenUser password mavenPassword } url repoUrl } maven { credentials { username mavenUser password mavenPassword } url libsReleasesUrl } maven { credentials { username mavenUser password mavenPassword } url libsSnapshotsUrl } } android { dependencies { compile group: 'com.company.ipos.android', name: 'commons.pos.micropos.api', version: '0.0.35-SNAPSHOT' //compile group: 'com.company.ipos.android', name: 'common.android.utils', version: '0.0.35-SNAPSHOT' compile project(":common.android.utils") compile group: 'org.slf4j', name: 'slf4j-api', version: '1.6.5' } sourceSets { main { manifest { srcFile 'AndroidManifest.xml' } res { srcDirs = [ 'res', ] } } } compileSdkVersion 15 buildToolsVersion '17.0' } 

Solutions Collecting From Web of "Ресурсы по вспомогательному модулю sibling, проект Gradle"

Можете ли вы включить свои настройки.gradle. Мне интересно, если у вас неправильный путь в вашей зависимости от компиляции.

Вот как вы объявили зависимость от fieldPanels к utils

 compile project(":common.android.utils") 

Это означает, что библиотечный модуль utils должен быть известен как gradle ": common.android.utils". Возможно, это должно быть так?

 compile project(":Core-UI:Utils") 

Принимая ваш пример «2 проекта библиотеки LA и LB и LB зависит от LA», вот несколько рабочих примеров.

Допустим, у LA есть следующий файл strings.xml

 <?xml version="1.0" encoding="utf-8"?> <resources> <string name="la_resource">la resource</string> </resources> 

Предположим, что LB имеет следующий файл strings.xml

 <?xml version="1.0" encoding="utf-8"?> <resources> <string name="lb_resource">lb resource</string> </resources> 

Предположим, мы хотим определить пользовательский вид с именем TestView в LB. TestView будет ссылаться на la_resource от LA и lb_resource от LB. Вот источник для TestView

 package com.example.myapplication3.lb; import android.content.Context; import android.util.AttributeSet; import android.widget.TextView; public class TestView extends TextView { public TestView(Context context) { super(context); setText(context.getString(R.string.la_resource) + " " + context.getString(R.string.lb_resource)); } public TestView(Context context, AttributeSet attrs) { super(context, attrs); setText(context.getString(R.string.la_resource) + " " + context.getString(R.string.lb_resource)); } public TestView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); setText(context.getString(R.string.la_resource) + " " + context.getString(R.string.lb_resource)); } } 

Предположим, мы хотим определить другое пользовательское представление с именем TestView2 в LB. TestView2 раздует XML-макет. XML-макет будет ссылаться на la_resource от LA и lb_resource от LB. Вот источник для TestView2

 package com.example.myapplication3.lb; import android.content.Context; import android.util.AttributeSet; import android.view.LayoutInflater; import android.widget.FrameLayout; import android.widget.TextView; import org.w3c.dom.Text; public class TestView2 extends FrameLayout { public TestView2(Context context) { super(context); LayoutInflater.from(context).inflate(R.layout.test_view_2, this); } public TestView2(Context context, AttributeSet attrs) { super(context, attrs); LayoutInflater.from(context).inflate(R.layout.test_view_2, this); } public TestView2(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); LayoutInflater.from(context).inflate(R.layout.test_view_2, this); } } 

И вот источник для test_view_2.xml

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/la_resource" android:padding="4dp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/lb_resource" /> </LinearLayout> 

Если вы столкнулись с этой проблемой в Android Studio / IDEA, не забудьте проверить флажок library на своих библиотечных модулях в настройках проекта.

Кроме того, попробуйте использовать другую версию плагина android, например 0.8+. И еще одна мысль: были и могут быть разные проблемы с плагином Android и 7 java, если вы используете его, попробуйте использовать 6.