我一直致力于个人项目,但在过去的几天里,构建还没有更新我的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>
答案 0 :(得分:0)
问题解决了!我只是手动运行AAPT并检查输出;它让我直接看到了我在XML资源中犯的一个错误。 Gradle的任务现在可以毫无问题地生成R.java。