我需要将某个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。
答案 0 :(得分:0)
将aar文件保存在libs文件夹中。 (如libname.aar)
然后在app build.gradle中指定以下内容。
repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
compile(name:'libname', ext:'aar')
}
并单击使用gradle文件同步项目。
然后清理构建项目。