Thanks Jerome, I'll posting the and see if anyone has any ideas.
I created a folder named debug and put resources and an AndroidManifest 
there and kept the tests under androidTest, and that seems to work. The 
drawback is that "debug" and "test" aren't really the same thing, so not 
ideal.
Thanks again.

On Wednesday, January 7, 2015 at 11:43:14 AM UTC-5, Jerome Dochez wrote:
>
> I have never tried what you are attempting so at this point, I am not much 
> help. Have you tried posting on android platforms dev list ?
>
> jerome
> On Tue Jan 06 2015 at 9:50:50 PM Alex Humesky <ahum...@gmail.com 
> <javascript:>> wrote:
>
>> Yeah I see that the test apk has the permission, so it's very strange 
>> that accountManager.*addAccountExplicitly *would fail with* 
>> "*java.lang.SecurityException: 
>> caller uid 10056 lacks any of android.permission.AUTHENTICATE_ACCOUNTS", 
>> even with using getInstrumentation().getContext() (as opposed to 
>> getTargetContext()). I'm not sure at this point if this is a built tool 
>> issue or if it's a test framework issue, do you have any suggestions?
>>
>>
>> On Tuesday, January 6, 2015 12:42:15 PM UTC-5, Jerome Dochez wrote:
>>
>>> building the attached test, I can see the permission is correctly added 
>>> to the resulting test apk.
>>>
>>> jedo-macbookpro2:androidManifestInTest.tst jedo$ 
>>> ~/oss/adt/sdk/build-tools/21.1.1/aapt l -a ./build/outputs/apk/
>>> androidManifestInTest.tst-debug-androidTest-unaligned.apk
>>>
>>> AndroidManifest.xml
>>>
>>> resources.arsc
>>>
>>> classes.dex
>>>
>>> META-INF/MANIFEST.MF
>>>
>>> META-INF/CERT.SF
>>>
>>> META-INF/CERT.RSA
>>>
>>>
>>> Resource table:
>>>
>>> Package Groups (1)
>>>
>>> Package Group 0 id=0x7f packageCount=1 name=com.android.tests.basic.test
>>>
>>>   Package 0 id=0x7f name=com.android.tests.basic.test
>>>
>>>     type 1 configCount=1 entryCount=1
>>>
>>>       spec resource 0x7f020000 
>>> com.android.tests.basic.test:string/app_name: 
>>> flags=0x00000000
>>>
>>>       config (default):
>>>
>>>         resource 0x7f020000 com.android.tests.basic.test:string/app_name: 
>>> t=0x03 d=0x00000000 (s=0x0008 r=0x00)
>>>
>>>
>>> Android manifest:
>>>
>>> N: android=http://schemas.android.com/apk/res/android
>>>
>>>   E: manifest (line=2)
>>>
>>>     A: package="com.android.tests.basic.test" (Raw: 
>>> "com.android.tests.basic.test")
>>>
>>>     E: uses-sdk (line=5)
>>>
>>>       A: android:minSdkVersion(0x0101020c)=(type 0x10)0x10
>>>
>>>       A: android:targetSdkVersion(0x01010270)=(type 0x10)0x10
>>>
>>>     E: instrumentation (line=9)
>>>
>>>       A: android:label(0x01010001)="Tests for com.android.tests.basic" 
>>> (Raw: "Tests for com.android.tests.basic")
>>>
>>>       A: android:name(0x01010003)="android.test.InstrumentationTestRunner" 
>>> (Raw: "android.test.InstrumentationTestRunner")
>>>
>>>       A: android:targetPackage(0x01010021)="com.android.tests.basic" 
>>> (Raw: "com.android.tests.basic")
>>>
>>>       A: android:handleProfiling(0x01010022)=(type 0x12)0x0
>>>
>>>       A: android:functionalTest(0x01010023)=(type 0x12)0x0
>>>
>>>       E: meta-data (line=15)
>>>
>>>         A: android:name(0x01010003)="listener" (Raw: "listener")
>>>
>>>         A: android:value(0x01010024)="android.support.test.internal.
>>> runner.listener.ManifestListener" (Raw: "android.support.test.
>>> internal.runner.listener.ManifestListener")
>>>
>>>     E: uses-permission (line=20)
>>>
>>>       A: 
>>> android:name(0x01010003)="android.permission.AUTHENTICATE_ACCOUNTS" 
>>> (Raw: "android.permission.AUTHENTICATE_ACCOUNTS")
>>>
>>>     E: permission-group (line=22)
>>>
>>>       A: android:label(0x01010001)=@0x7f020000
>>>
>>>       A: android:name(0x01010003)="foo.permission-group.COST_MONEY" 
>>> (Raw: "foo.permission-group.COST_MONEY")
>>>
>>>       A: android:description(0x01010020)=@0x7f020000
>>>
>>>     E: permission (line=27)
>>>
>>>       A: android:label(0x01010001)=@0x7f020000
>>>
>>>       A: android:name(0x01010003)="foo.permission.RECEIVED_SMS" (Raw: 
>>> "foo.permission.RECEIVED_SMS")
>>>
>>>       A: 
>>> android:permissionGroup(0x0101000a)="foo.permission-group.COST_MONEY" 
>>> (Raw: "foo.permission-group.COST_MONEY")
>>>
>>>       A: android:description(0x01010020)=@0x7f020000
>>>
>>>     E: application (line=33)
>>>
>>>       A: android:debuggable(0x0101000f)=(type 0x12)0xffffffff
>>>
>>>       E: uses-library (line=34)
>>>
>>>         A: android:name(0x01010003)="android.test.runner" (Raw: 
>>> "android.test.runner")
>>>
>>> On Tue Jan 06 2015 at 9:33:19 AM Jerome Dochez <je...@google.com> wrote:
>>>
>> ok the first thing to do is to check the resulting test apk.
>>>>
>>>> can you do a aapt l -a <path_to_test_apk> and check if the permission 
>>>> is there or not. 
>>>>
>>> On Mon Jan 05 2015 at 7:32:17 PM Alex Humesky <ahum...@gmail.com> wrote:
>>>>
>>> Interestingly, the following also fails, where getTargetContext() is 
>>>>> changed to getContext():
>>>>>
>>>>>     Context testContext = getInstrumentation().*getContext*();
>>>>>     PackageManager pm = testContext.getPackageManager();
>>>>>     int r = pm.checkPermission(
>>>>>         Manifest.permission.AUTHENTICATE_ACCOUNTS,
>>>>>         testContext.getPackageName());
>>>>>     assertEquals(PackageManager.PERMISSION_GRANTED, r);
>>>>>
>>>>>     // Add a fake account
>>>>>     AccountManager accountManager = AccountManager.get(testContext);
>>>>>
>>>>     Account account = new Account("te...@test.com", "com.test");
>>>>>
>>>>     boolean addedAccount = accountManager.*addAccountExplicitly*(account, 
>>>>> "password", new Bundle());
>>>>>
>>>>> What's weird is that the assert passes, yet addAccountExplicity still 
>>>>> fails with
>>>>>
>>>>> java.lang.SecurityException: caller uid 10056 lacks any of 
>>>>> android.permission.AUTHENTICATE_ACCOUNTS
>>>>>
>>>>
>>>>>
>>>>> On Monday, January 5, 2015 10:05:22 PM UTC-5, Alex Humesky wrote:
>>>>>>
>>>>>> Correct, when I run the test (either through Android Studio or 
>>>>>> connectedAndroidTest task), the app doesn't seem to have the permission, 
>>>>>> and so trying to use the account manager fails. I've attached a project 
>>>>>> based on the androidManifestInTest sample found at 
>>>>>> http://tools.android.com/tech-docs/new-build-system
>>>>>>
>>>>>> Thanks again!
>>>>>>
>>>>>>
>>>>>> On Monday, January 5, 2015 2:29:24 PM UTC-5, Jerome Dochez wrote:
>>>>>>>
>>>>>>> yes it is supposed to work. can you describe what you observe not 
>>>>>>> working, the permission is not added to the test app ?
>>>>>>>
>>>>>>> On Mon Jan 05 2015 at 11:12:36 AM Alex Humesky <ahum...@gmail.com> 
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hello adt-dev,
>>>>>>>> I'm trying to write an integration test for a user registration 
>>>>>>>> activity, and so as part of the test's set up, I want to create some 
>>>>>>>> test 
>>>>>>>> accounts on the emulator. To do this requires the permission 
>>>>>>>> android.permission.AUTHENTICATE_ACCOUNTS.
>>>>>>>>
>>>>>>>> According to the Android Gradle Plugin release notes for 
>>>>>>>> version 0.13.0, I should be able to supply a manifest for the test app 
>>>>>>>> at 
>>>>>>>> src/androidTest/AndroidManifest.xml, but adding the permission 
>>>>>>>> there doesn't seem to work. I know the file is being read since adding 
>>>>>>>> a 
>>>>>>>> syntax error causes the build to fail.
>>>>>>>>
>>>>>>>> I noticed that renaming src/androidTest to src/debug makes the test 
>>>>>>>> work if I launch the test from Android Studio, but then the tests 
>>>>>>>> don't get 
>>>>>>>> picked up with the connectedAndroidTest task.
>>>>>>>>
>>>>>>>> I'm using Android Studio version 1.0.2 and Android Gradle Plugin 
>>>>>>>> 1.0.0 and a regular project layout.
>>>>>>>>
>>>>>>>> Is merging uses-permission from androidTest/AndroidManifest.xml 
>>>>>>>> supposed to work?
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>>
>>>>>>>>
>>>>>>>> ps seems to be the same problem as described here: 
>>>>>>>> http://stackoverflow.com/questions/26244998/androidmanifest-in-
>>>>>>>> androidtest-directory-being-ignored
>>>>>>>>
>>>>>>>> -- 
>>>>>>>> You received this message because you are subscribed to the Google 
>>>>>>>> Groups "adt-dev" group.
>>>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>>>> send an email to adt-dev+u...@googlegroups.com.
>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>
>>>>>>>  -- 
>>>>> You received this message because you are subscribed to the Google 
>>>>> Groups "adt-dev" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>>> an email to adt-dev+u...@googlegroups.com.
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>  -- 
>> You received this message because you are subscribed to the Google Groups 
>> "adt-dev" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to adt-dev+u...@googlegroups.com <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"adt-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adt-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to