同じコードベースに2つのアプリがあります。同じJavaファイルを使用してresファイルを保存します。ただし、ファイル名は同じですが内容は異なる&の同じ値を持つ値とドロウアブルフォルダは除きます。Androidフレーバー - シンボルを解決できませんR
私がいる問題は、私のGradleのビルド時にどこにでも私はRIを使用することが
Cannot resolve symbol R
エラーが私のbuild.gradleファイルはこのようになります持っているので、私は問題を抱えていますということです(簡潔にするため取り残さいくつかの設定で):
android {
signingConfigs {
// left out
}
compileSdkVersion 23
buildToolsVersion "23.0.1"
useLibrary 'org.apache.http.legacy'
lintOptions {
disable "ResourceType"
}
defaultConfig {
applicationId = "com.au.testapp"
minSdkVersion 16
targetSdkVersion 23
versionCode = 1
buildConfigField 'String', 'app_ver_numb', '"1.00"'
multiDexEnabled = true
}
sourceSets {
main {
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
assets.srcDirs = ['assets']
res.srcDirs = ['res/main']
manifest.srcFile 'AndroidManifest.xml'
}
flavorone{
res.srcDirs = ['res/flavorone']
}
flavortwo{
res.srcDirs = ['res/flavortwo']
}
instrumentTest.setRoot('tests')
}
productFlavors {
flavorone {
applicationId "com.au.testapp.flavorone"
versionName = "''"
buildConfigField 'String', 'app_id', '"79"'
}
flavortwo {
applicationId "com.au.testapp.flavortwo"
versionName = "''"
buildConfigField 'String', 'app_id', '"79"'
}
}
buildTypes {
debug {
productFlavors.flavorone.signingConfig signingConfigs.flavorone
productFlavors.flavortwosigningConfig signingConfigs.flavortwo
}
release {
productFlavors.flavorone.signingConfig signingConfigs.flavorone
productFlavors.flavortwo.signingConfig signingConfigs.flavortwo
minifyEnabled true
shrinkResources true
proguardFile getDefaultProguardFile('proguard-android.txt')
}
}
}
マイフォルダ構造は次のようになります。
src
com
au
testapp
adapter
utils
db
common
...
res
main
anim
animator
...
drawable
layout
values
...
flavorone
drawable
values
flavortwo
drawable
values
これをGradleでビルドすると、エラーは発生しませんが、プロジェクトをビルドすると、Rファイルが見つからないため、Javaファイルにエラーが発生します。私のビルドフレーバー設定のためにパッケージ名が正しくありません。
アイデア?
私は行くとすぐにあなたに戻ってnitpickerを与えるよ!これまでのご協力ありがとうございました:) – Nickmccomb
問題ありません。私はあなたの質問をもっと見てみました。また、フレーバーリソースを移動した後に、res/mainの内容をresにポップしなければならないと思います。 (その後、build.gradleを更新することを忘れないでください)。さらに、src/main/javaに基本アプリ用のJavaファイル(srcにあるsrcファイル)を移動する必要があります。このSO投稿は、フレーバー用にファイルを構造化する方法を説明する際に、私よりも優れた仕事をします:http://stackoverflow.com/a/20345749/6526330 –
ああ、今は意味があります!それは味の私の最初の日だから私はまだそれがすべてセットアップされるべきである方法に慣れている。私はあなたの助けを借りて今すぐ正しい道を歩いています! – Nickmccomb