导入的android库中的字段不是在R文件中生成的

时间:2015-12-08 09:14:44

标签: android android-gradle build.gradle android-library

我需要将某个SDK与我的应用程序集成,我在我的gradle依赖项中添加了.aar文件,并添加了他们提供给我的代码。 gradle构建没有遇到任何特殊问题,但是当我尝试启动SDK的活动时,应用程序崩溃时出现以下异常:

12-07 16:28:09.991 16236-16236/? E/AndroidRuntime: FATAL EXCEPTION: main
                                               Process: com.positiveapps.clickins, PID: 16236
                                               java.lang.NoSuchFieldError: No static field action_show_neura of type I in class Lcom/neura/standalonesdk/R$id; or its superclasses (declaration of 'com.neura.standalonesdk.R$id' appears in /data/app/com.positiveapps.clickins-1/base.apk:classes2.dex)
                                                   at com.neura.dashboard.R$id.<clinit>(R.java:995)
                                                   at com.neura.dashboard.activity.LoginActivity.onCreate(LoginActivity.java:59)
                                                   at com.neura.dashboard.activity.AppAuthenticationActivity.onCreate(AppAuthenticationActivity.java:26)
                                                   at android.app.Activity.performCreate(Activity.java:5990)
                                                   at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
                                                   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
                                                   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
                                                   at android.app.ActivityThread.access$800(ActivityThread.java:151)
                                                   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
                                                   at android.os.Handler.dispatchMessage(Handler.java:102)
                                                   at android.os.Looper.loop(Looper.java:135)
                                                   at android.app.ActivityThread.main(ActivityThread.java:5254)
                                                   at java.lang.reflect.Method.invoke(Native Method)
                                                   at java.lang.reflect.Method.invoke(Method.java:372)
                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)

在我浏览了在我的应用程序中生成的R文件之后,我发现生成的R中缺少了aar中R.txt文件中存在的大量字段。

我尝试使用和不使用proguard构建,更新gradle版本,清理和重建项目,手动删除“build”目录,将aar添加为模块。 这些似乎都不是问题,R文件仍然缺少字段。

感谢任何帮助,Ilia。

1 个答案:

答案 0 :(得分:0)

将aar文件保存在libs文件夹中。 (如libname.aar)

然后在app build.gradle中指定以下内容。

repositories {
    flatDir {
        dirs 'libs'
    }
}

dependencies {
    compile(name:'libname', ext:'aar')
}

并单击使用gradle文件同步项目。

然后清理构建项目。