Сбой сборки ресурса
Я работал над личным проектом, но в последние несколько дней билды не обновляли мой R.java. Я не уверен, что может быть причиной этого. Я не видел никаких синтаксических ошибок в ресурсах XML, но единственный раз, когда это сработало, было то, когда я сгенерировал его вручную пару дней назад (app:generateDebugResources
), и в то время единственным ресурсом в проекте был файл res/raw, HTML-документ. С тех пор я написал большую часть того, что мне нужно для, по-видимому, минимальной функциональности, которую я реализую, и удалил R.java, работая над решением проблемы. Единственная оставшаяся вещь, на которую Android Studio, похоже, заинтересована - это unrecognized symbol 'R'
, Я чувствую, что ударил стену; Я буду публиковать мой XML, а также мою конфигурацию сборки и настройки. Я открыт для любых предложений относительно того, почему Gradle может не упаковывать мои ресурсы, а также для конструктивной критики. Незавершенное строительство отключено.
settings.gradle:
include 'app'
//include 'nanohttpd'
project(':app').projectDir = new File('app')
//project(':nanohttpd').projectDir = new File('nanohttpd')
build.gradle:
apply plugin: 'java'
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.2'
}
}
project(':app') {
dependencies {
}
}
/*
project(':nanohttpd') {
dependencies {
}
}
*/
: Приложение:build.gradle:
apply plugin: 'com.android.application'
repositories {
mavenCentral()
}
android {
compileSdkVersion 16
buildToolsVersion "24.0.1"
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
//compile project(':nanohttpd')
compile group: 'commons-codec',
name: 'commons-codec', version: '1.10'
compile group: 'org.nanohttpd',
name: 'nanohttpd', version: '2.3.0'
}
sourceSets {
main {
java {
srcDir 'src/java'
}
resources {
srcDir 'src/res'
}
manifest {
srcFile 'src/android-manifest.xml'
}
}
}
defaultConfig {
minSdkVersion 16
targetSdkVersion 16
applicationId "site.wyrxce.httpclip"
}
buildTypes {
release {
minifyEnabled true
//signingConfig signingConfigs.release
proguardFile getDefaultProguardFile('proguard-android.txt')
}
debug {
initWith release
applicationIdSuffix ".debug"
signingConfig null
debuggable true
}
}
}
SRC / RES / XML /prefs_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
android:key="PreferenceScreen_main">
<SwitchPreference
android:key="SwitchPreference_runServer"
android:defaultValue="false"/>
<EditTextPreference
android:key="EditTextPreference_hostPort"
android:defaultValue="3939"
android:numeric="integer"
android:maxLength="5"/>
</PreferenceScreen>
SRC / RES / значения /strings.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="bad_request">Unrecognized input</string>
<string name="bad_passwd">Invalid credentials</string>
<string name="internal_err">Internal server error</string>
<string name="clipboard_desc">HTTPClip Input</string>
<string name="toasttext_serverstarted">
HTTPClip service now listening</string>
<string name="toasttext_serverstopped">
HTTPClip Service stopped</string>
<string name="title_switchpreference_runserver">
Run HTTPClip service</string>"
<string name="title_edittextpreference_hostport">Host Port</string>
<string name="summary_edittextpreference_hostport">
Listening port for HTTP Daemon</string>
</resources>
1 ответ
Задача решена! Я просто запустил AAPT вручную и проверил вывод; это привело меня прямо к одной ошибке, которую я сделал в моих ресурсах XML. Задачи Gradle теперь генерируют R.java без проблем.