Importing Urban Airship in Android Studio gives compile issues?

China☆狼群 提交于 2020-01-13 13:01:08

问题


I'm new to Android Studio and i want to implement Urban Airship in one of my projects. I followed the example on their website with the .aar file and I ended up getting this error.

Error: [/Users/AndroidstudioProjects/MyApplication/app/build/intermediates/exploded-aar/com.urbanairship/urbanairship-lib/5.1.0/AndroidManifest.xml:8]
Invalid instruction 'overrideLibrary', valid instructions are : REMOVE,REPLACE,STRICT

Correct me if I'm wrong but doesn't this mean that they have issues in their manifest file? Or am I completely out in the blue? If so, do anyone have a good example on how to implement it?


回答1:


The Urban Airship SDK builds against Google Play Services that requires Android API 9, while Urban Airship is compatible with 6+. That is why we need the override library version. What android gradle plugin version are you using? You need to use 13.3 or greater. See http://tools.android.com/tech-docs/new-build-system.

In the projects build.gradle file:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.13.+'
    }
}



回答2:


I just had the same problem, and was able to fix it and build my project:

The offending line is line 8 of the AndroidManifest.xml I just removed this line and changed some SDK versions.

You can open the file urbanairship-lib-5.1.0.aar using WinRar. Navigate to the Manifest. Open it and edit within your favourite text editor. Save and close the manifest. WinRar asks if you want to update the archive. Choose Yes!

According to this page, overrideLibrary is used for when you have minSDK version in a library > minSDK version in your project. So it allows a different version to be compiled instead, without errors.

http://tools.android.com/tech-docs/new-build-system/user-guide/manifest-merger#TOC-tools:overrideLibrary-marker

Remove, replace etc do something a bit different (also described on that page - scroll up).

Then in my projects build.gradle file I changed the version numbers to match my project:

From this

compile 'com.android.support:support-v4:21.+'

To this

compile 'com.android.support:support-v4:19.+'

Would be good to know what's the outcome of the OP's support ticket. Please keep us posted!




回答3:


I ran into this issue as well evaluating the 5.1.0 version of the Urban Airship SDK. I am using Android Studio Beta 0.8.14. I contacted Urban Airship support and they told me to increment the version of gradle to 0.13.3. Android Studio 0.8.14 is defaulting to 0.13.2. After changing the version of gradle to 0.13.3 in the project build.gradle file I was able to successfully compile and import the new SDK.



来源:https://stackoverflow.com/questions/26844886/importing-urban-airship-in-android-studio-gives-compile-issues

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!