android-maven-plugin - android.content.res.Resources$NotFoundException thrown by Google Play Services

590 Views Asked by At

I'd like to use Google Play Services in my mavenized android project.

I used maven-android-sdk-deployer to install Google Play Services from my Android SDK into my local maven repository.

After that, i added following dependencies to my pom.xml:

    <dependency>
        <groupId>com.google.android.gms</groupId>
        <artifactId>google-play-services</artifactId>
        <version>13.0.0</version>
        <type>apklib</type>
    </dependency>
    <dependency>
        <groupId>com.google.android.gms</groupId>
        <artifactId>google-play-services</artifactId>
        <version>13.0.0</version>
        <type>jar</type>
    </dependency>

Everything seems fine up to this point, i can see "gen-external-apklibs/com.google.android.gms_google-play-services_13.0.0" dir in project root. Project compiles fine.

Unfortunately, application crashes on function call:

            Dialog errorDialog = GooglePlayServicesUtil.getErrorDialog(errorCode, activity,
                CONNECTION_FAILURE_RESOLUTION_REQUEST);

Exception:

01-05 00:45:21.858  27191-27191/? E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.example.myapp, PID: 27191
android.content.res.Resources$NotFoundException: String resource ID #0x7f050006
        at android.content.res.Resources.getText(Resources.java:244)
        at android.content.res.Resources.getString(Resources.java:330)
        at com.google.android.gms.common.GooglePlayServicesUtil.b(Unknown Source)
        at com.google.android.gms.common.GooglePlayServicesUtil.a(Unknown Source)
        at com.google.android.gms.common.GooglePlayServicesUtil.getErrorDialog(Unknown Source)
        at com.example.myapp.ErrorHandler.onConnectionFailed(ErrorHandler.java:37)
        at com.google.android.gms.internal.de.a(Unknown Source)
        at com.google.android.gms.internal.de$a.handleMessage(Unknown Source)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:136)
        at android.app.ActivityThread.main(ActivityThread.java:5017)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:515)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
        at dalvik.system.NativeStart.main(Native Method)

I use Android target version 19, android-maven-plugin 3.8.2, maven-android-sdk-deployer 2.4.0

Thank you for your help!

1

There are 1 best solutions below

1
On

I'm having a similar problem and it appears to be a bug in android-maven-plugin version 3.8.2. I suggest you try version 3.8.1.

My problem has to do with project A depending on ActionBarCompat and library B that depends on ActionBarCompat as well. When I create an APK using android-maven-plugin 3.8.2 I get java.lang.IllegalStateException on startup saying "You need to use a Theme.AppCompat theme (or descendant) with this activity." Version 3.8.1 works for me.