我无法使Adobe Omniture与Android保持一致。我在应用程序的某些部分调用trackAction,有一半的时间,当我在应用程序启动时调用它时,它会失败。

仅提供一些信息,我使用的是最新版本的Omniture(在撰写本文时为4.11.0),并在app / libs文件夹下添加了4.11.0 jar文件,并在app / assets下添加了ADMobileConfig.json文件。 。

对于build.gradle文件,最小SDK设置为19,目标SDK设置为20。

任何输入,不胜感激。

这是我启动时收到的消息:

08-09 15:13:22.096 29529-30479 / com.example.application E / ADBMobile:ADBMobile错误:配置-无法获取程序包来提取应用程序名称。 (配置-无应用程序上下文(必须在调用任何库函数之前设置应用程序上下文。))

08-09 15:13:22.097 29529-30479 / com.example.application E / ADBMobile:ADBMobile错误:配置-无法获取软件包以提取应用程序版本。 (配置-无应用程序上下文(必须在调用任何库函数之前设置应用程序上下文。))

08-09 15:13:22.100 29529-30479 / com.example.application E / ADBMobile:ADBMobile错误:配置-无法获取软件包以提取应用程序版本代码。 (配置-无应用程序上下文(必须在调用任何库函数之前设置应用程序上下文。))

08-09 15:13:22.107 29529-30479 / com.example.application E / ADBMobile:ADBMobile错误:配置-获取设备分辨率时出错。 (配置-无应用程序上下文(必须在调用任何库函数之前设置应用程序上下文。))

08-09 15:13:22.107 29529-30479 / com.example.application E / ADBMobile:ADBMobile错误:配置-获取设备载体时出错。 (配置-无应用程序上下文(必须在调用任何库函数之前设置应用程序上下文。))

08-09 15:13:22.114 29529-30479 / com.example.application E / ADBMobile:ADBMobile错误:分析-注册网络接收器时出错(配置-无应用程序上下文(必须在调用任何库函数之前设置应用程序上下文)。 )

08-09 15:13:22.114 29529-30479 / com.example.application E / ADBMobile:ADBMobile错误:配置-尝试读取配置文件时为空上下文(配置-无应用程序上下文(必须在调用任何应用程序之前设置应用程序上下文库函数。))

08-09 15:13:22.115 29529-30479 / com.example.application E / ADBMobile:ADBMobile错误:配置-尝试读取配置文件时为空上下文(配置-无应用程序上下文(必须在调用任何应用程序之前设置应用程序上下文库函数。))

08-09 15:13:22.116 29529-30479 / com.example.application E / ADBMobile:ADBMobile错误:配置-无法从共享首选项中提取visitorID。 (配置-无应用程序上下文(必须在调用任何库函数之前设置应用程序上下文。))

08-09 15:13:22.117 29529-30479 / com.example.application E / ADBMobile:ADBMobile错误:生命周期-加载持久化生命周期数据时出现问题
08-09 15:13:22.148 29529-30479 / com.example.application E / ADBMobile:ADBMobile错误:配置-获取缓存目录时出错。 (配置-无应用程序上下文(必须在调用任何库函数之前设置应用程序上下文。))

08-09 15:13:22.148 29529-30479 / com.example.application E / ADBMobile:ADBMobile错误:配置-获取缓存目录时出错。 (配置-无应用程序上下文(必须在调用任何库函数之前设置应用程序上下文。))

08-09 15:13:22.148 29529-30479 / com.example.application E / ADBMobile:ADBMobile错误:配置-获取缓存目录时出错。 (配置-无应用程序上下文(必须在调用任何库函数之前设置应用程序上下文。))

08-09 15:13:22.158 29529-30479 / com.example.application E / SQLiteLog:(14)os_unix.c:30199:(2)open(// ADBMobileDataCache.sqlite)-

08-09 15:13:22.181 29529-30479 / com.example.application E / SQLiteDatabase:无法打开数据库'ADBMobileDataCache.sqlite'。
                                                                   android.database.sqlite.SQLiteCantOpenDatabaseException:未知错误(代码14):无法打开数据库
                                                                       在android.database.sqlite.SQLiteConnection.nativeOpen(本地方法)
                                                                       在android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:209)
                                                                       在android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:193)
                                                                       在android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:463)
                                                                       在android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:185)
                                                                       在android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:177)
                                                                       在android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:804)
                                                                       在android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:789)
                                                                       在android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:694)
                                                                       在android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:669)
                                                                       在com.adobe.mobile.AbstractDatabaseBacking.openOrCreateDatabase(AbstractDatabaseBacking.java:47)
                                                                       在com.adobe.mobile.AbstractDatabaseBacking.initDatabaseBacking(AbstractDatabaseBacking.java:68)
                                                                       在com.adobe.mobile.AnalyticsWorker。(AnalyticsWorker.java:77)
                                                                       在com.adobe.mobile.AnalyticsWorker.sharedInstance(AnalyticsWorker.java:64)
                                                                       在com.adobe.mobile.RequestBuilder.buildAndSendRequest(RequestBuilder.java:117)
                                                                       在com.adobe.mobile.AnalyticsTrackAction.trackAction(AnalyticsTrackAction.java:38)
                                                                       在com.adobe.mobile.Analytics $ 2.run(Analytics.java:81)
                                                                       在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
                                                                       在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:587)
                                                                       在java.lang.Thread.run(Thread.java:841)

08-09 15:13:22.181 29529-30479 / com.example.application E / ADBMobile:ADBMobile错误:分析-无法打开数据库(未知错误(代码14):无法打开数据库)。

08-09 15:13:22.181 29529-30479 / com.example.application E / ADBMobile:ADBMobile错误:分析-由于未打开的数据库(空)而无法获取跟踪队列大小

最佳答案

根据错误,似乎您没有在活动的onCreate方法上设置应用程序上下文:

Config.setContext(this.getApplicationContext());

09-07 08:57