resource linking failed in AndroidManifest.xml when using sourceSets
I am trying to run an Android Studio project, but I keep getting 'Android resource linking failed' error for values in the AndroidManifest.xml.
Resource linking error
When I remove the sourceSets from the build.gradle it solves this problem but breaks imports of the files referenced in the sourceSets.
The sourceSets in build.gradle look like this:
sourceSets
main
res.srcDirs =
[
'/src/main/res/layouts/administrator',
'/src/main/res/layouts/dashboard',
'/src/main/res/layouts/location_information',
'/src/main/res/layouts/login',
'/src/main/res/layouts/map',
'/src/main/res/layouts/non_activity',
'/src/main/res/layouts/register_location',
'/src/main/res/layouts/start_up',
'/src/main/res/layouts',
'/src/main/res'
]
The Android Manifest looks like this:
AndroidManifest cannot resolve @string
Is there some other way I should be accessing the values in the AndroidManifest other than @string... ?
I have tried various build tools versions and disabling AAPT2. Any help on resolving these linking issues would be appreciated.
Top of build.gradle:
compileSdkVersion 28
buildToolsVersion "28.0.3"
defaultConfig
applicationId "com.example.example"
minSdkVersion 16
targetSdkVersion 26
versionCode 4
versionName "1.3.1"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
java android android-studio gradle android-gradle
add a comment |
I am trying to run an Android Studio project, but I keep getting 'Android resource linking failed' error for values in the AndroidManifest.xml.
Resource linking error
When I remove the sourceSets from the build.gradle it solves this problem but breaks imports of the files referenced in the sourceSets.
The sourceSets in build.gradle look like this:
sourceSets
main
res.srcDirs =
[
'/src/main/res/layouts/administrator',
'/src/main/res/layouts/dashboard',
'/src/main/res/layouts/location_information',
'/src/main/res/layouts/login',
'/src/main/res/layouts/map',
'/src/main/res/layouts/non_activity',
'/src/main/res/layouts/register_location',
'/src/main/res/layouts/start_up',
'/src/main/res/layouts',
'/src/main/res'
]
The Android Manifest looks like this:
AndroidManifest cannot resolve @string
Is there some other way I should be accessing the values in the AndroidManifest other than @string... ?
I have tried various build tools versions and disabling AAPT2. Any help on resolving these linking issues would be appreciated.
Top of build.gradle:
compileSdkVersion 28
buildToolsVersion "28.0.3"
defaultConfig
applicationId "com.example.example"
minSdkVersion 16
targetSdkVersion 26
versionCode 4
versionName "1.3.1"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
java android android-studio gradle android-gradle
Why are you walking all the paths in your layouts? I have no idea why you would ever need to do that. Please provide clarity as to what you are trying to accomplish and why you are walking the res paths. As you don't set res paths unless you are using an outdated structure or a hybrid tool that is using an outdated structure.
– Sam
Nov 13 '18 at 13:39
This is a project I have taken over, I am not sure why it is laid out like this. I am just wondering how the resources should be accessed in the AndoidManifest if this is the set up? Would I be better off restructuring?
– declan
Nov 13 '18 at 13:43
I would, yeah. You should use the natural folder structure or you will be fighting little one-off errors like this when it comes down to testing and unit testing and flavors later. The natural structure of a new android project is very easy to follow. Just create a new project to see how it should be laid out. Then start moving yours to match it. Once they match delete the res-dir snippet from your gradle. That will probably clear you up.
– Sam
Nov 13 '18 at 13:55
add a comment |
I am trying to run an Android Studio project, but I keep getting 'Android resource linking failed' error for values in the AndroidManifest.xml.
Resource linking error
When I remove the sourceSets from the build.gradle it solves this problem but breaks imports of the files referenced in the sourceSets.
The sourceSets in build.gradle look like this:
sourceSets
main
res.srcDirs =
[
'/src/main/res/layouts/administrator',
'/src/main/res/layouts/dashboard',
'/src/main/res/layouts/location_information',
'/src/main/res/layouts/login',
'/src/main/res/layouts/map',
'/src/main/res/layouts/non_activity',
'/src/main/res/layouts/register_location',
'/src/main/res/layouts/start_up',
'/src/main/res/layouts',
'/src/main/res'
]
The Android Manifest looks like this:
AndroidManifest cannot resolve @string
Is there some other way I should be accessing the values in the AndroidManifest other than @string... ?
I have tried various build tools versions and disabling AAPT2. Any help on resolving these linking issues would be appreciated.
Top of build.gradle:
compileSdkVersion 28
buildToolsVersion "28.0.3"
defaultConfig
applicationId "com.example.example"
minSdkVersion 16
targetSdkVersion 26
versionCode 4
versionName "1.3.1"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
java android android-studio gradle android-gradle
I am trying to run an Android Studio project, but I keep getting 'Android resource linking failed' error for values in the AndroidManifest.xml.
Resource linking error
When I remove the sourceSets from the build.gradle it solves this problem but breaks imports of the files referenced in the sourceSets.
The sourceSets in build.gradle look like this:
sourceSets
main
res.srcDirs =
[
'/src/main/res/layouts/administrator',
'/src/main/res/layouts/dashboard',
'/src/main/res/layouts/location_information',
'/src/main/res/layouts/login',
'/src/main/res/layouts/map',
'/src/main/res/layouts/non_activity',
'/src/main/res/layouts/register_location',
'/src/main/res/layouts/start_up',
'/src/main/res/layouts',
'/src/main/res'
]
The Android Manifest looks like this:
AndroidManifest cannot resolve @string
Is there some other way I should be accessing the values in the AndroidManifest other than @string... ?
I have tried various build tools versions and disabling AAPT2. Any help on resolving these linking issues would be appreciated.
Top of build.gradle:
compileSdkVersion 28
buildToolsVersion "28.0.3"
defaultConfig
applicationId "com.example.example"
minSdkVersion 16
targetSdkVersion 26
versionCode 4
versionName "1.3.1"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
java android android-studio gradle android-gradle
java android android-studio gradle android-gradle
edited Nov 14 '18 at 2:24
p.alexey
691513
691513
asked Nov 13 '18 at 13:02
declandeclan
112
112
Why are you walking all the paths in your layouts? I have no idea why you would ever need to do that. Please provide clarity as to what you are trying to accomplish and why you are walking the res paths. As you don't set res paths unless you are using an outdated structure or a hybrid tool that is using an outdated structure.
– Sam
Nov 13 '18 at 13:39
This is a project I have taken over, I am not sure why it is laid out like this. I am just wondering how the resources should be accessed in the AndoidManifest if this is the set up? Would I be better off restructuring?
– declan
Nov 13 '18 at 13:43
I would, yeah. You should use the natural folder structure or you will be fighting little one-off errors like this when it comes down to testing and unit testing and flavors later. The natural structure of a new android project is very easy to follow. Just create a new project to see how it should be laid out. Then start moving yours to match it. Once they match delete the res-dir snippet from your gradle. That will probably clear you up.
– Sam
Nov 13 '18 at 13:55
add a comment |
Why are you walking all the paths in your layouts? I have no idea why you would ever need to do that. Please provide clarity as to what you are trying to accomplish and why you are walking the res paths. As you don't set res paths unless you are using an outdated structure or a hybrid tool that is using an outdated structure.
– Sam
Nov 13 '18 at 13:39
This is a project I have taken over, I am not sure why it is laid out like this. I am just wondering how the resources should be accessed in the AndoidManifest if this is the set up? Would I be better off restructuring?
– declan
Nov 13 '18 at 13:43
I would, yeah. You should use the natural folder structure or you will be fighting little one-off errors like this when it comes down to testing and unit testing and flavors later. The natural structure of a new android project is very easy to follow. Just create a new project to see how it should be laid out. Then start moving yours to match it. Once they match delete the res-dir snippet from your gradle. That will probably clear you up.
– Sam
Nov 13 '18 at 13:55
Why are you walking all the paths in your layouts? I have no idea why you would ever need to do that. Please provide clarity as to what you are trying to accomplish and why you are walking the res paths. As you don't set res paths unless you are using an outdated structure or a hybrid tool that is using an outdated structure.
– Sam
Nov 13 '18 at 13:39
Why are you walking all the paths in your layouts? I have no idea why you would ever need to do that. Please provide clarity as to what you are trying to accomplish and why you are walking the res paths. As you don't set res paths unless you are using an outdated structure or a hybrid tool that is using an outdated structure.
– Sam
Nov 13 '18 at 13:39
This is a project I have taken over, I am not sure why it is laid out like this. I am just wondering how the resources should be accessed in the AndoidManifest if this is the set up? Would I be better off restructuring?
– declan
Nov 13 '18 at 13:43
This is a project I have taken over, I am not sure why it is laid out like this. I am just wondering how the resources should be accessed in the AndoidManifest if this is the set up? Would I be better off restructuring?
– declan
Nov 13 '18 at 13:43
I would, yeah. You should use the natural folder structure or you will be fighting little one-off errors like this when it comes down to testing and unit testing and flavors later. The natural structure of a new android project is very easy to follow. Just create a new project to see how it should be laid out. Then start moving yours to match it. Once they match delete the res-dir snippet from your gradle. That will probably clear you up.
– Sam
Nov 13 '18 at 13:55
I would, yeah. You should use the natural folder structure or you will be fighting little one-off errors like this when it comes down to testing and unit testing and flavors later. The natural structure of a new android project is very easy to follow. Just create a new project to see how it should be laid out. Then start moving yours to match it. Once they match delete the res-dir snippet from your gradle. That will probably clear you up.
– Sam
Nov 13 '18 at 13:55
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53281612%2fresource-linking-failed-in-androidmanifest-xml-when-using-sourcesets%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53281612%2fresource-linking-failed-in-androidmanifest-xml-when-using-sourcesets%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Why are you walking all the paths in your layouts? I have no idea why you would ever need to do that. Please provide clarity as to what you are trying to accomplish and why you are walking the res paths. As you don't set res paths unless you are using an outdated structure or a hybrid tool that is using an outdated structure.
– Sam
Nov 13 '18 at 13:39
This is a project I have taken over, I am not sure why it is laid out like this. I am just wondering how the resources should be accessed in the AndoidManifest if this is the set up? Would I be better off restructuring?
– declan
Nov 13 '18 at 13:43
I would, yeah. You should use the natural folder structure or you will be fighting little one-off errors like this when it comes down to testing and unit testing and flavors later. The natural structure of a new android project is very easy to follow. Just create a new project to see how it should be laid out. Then start moving yours to match it. Once they match delete the res-dir snippet from your gradle. That will probably clear you up.
– Sam
Nov 13 '18 at 13:55