我目前正在使用谷歌地图api开发一个Android应用程序,我有时会得到一个奇怪的崩溃(在我看来),因为没有明显的原因.这是崩溃日志:
12-02 16:38:57.071 20796-21137/com.appsolute.ParkYoo E/AndroidRuntime? FATAL EXCEPTION: GLThread 4623
Process: com.appsolute.ParkYoo, PID: 20796
java.lang.NullPointerException: Attempt to get length of null array
at java.nio.DirectByteBuffer.put(DirectByteBuffer.java:399)
at java.nio.ByteBufferAsShortBuffer.put(ByteBufferAsShortBuffer.java:159)
at com.google.maps.api.android.lib6.gmm6.o.c.a.d.d(Unknown Source)
at com.google.maps.api.android.lib6.gmm6.o.c.a.d.a(Unknown Source)
at com.google.maps.api.android.lib6.gmm6.o.a.a(Unknown Source)
at com.google.maps.api.android.lib6.gmm6.o.c.b(Unknown Source)
at com.google.maps.api.android.lib6.gmm6.o.c.a(Unknown Source)
at com.google.maps.api.android.lib6.gmm6.o.l.a(Unknown Source)
at com.google.maps.api.android.lib6.gmm6.o.l.b(Unknown Source)
at com.google.maps.api.android.lib6.gmm6.o.cw.k(Unknown Source)
at com.google.maps.api.android.lib6.gmm6.o.cw.run(Unknown Source)
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,崩溃发生在谷歌api但代码已被混淆,所以我没有更多的信息,除了在第一行2:
final void put(short[] src, int srcOffset, int shortCount) {
checkIsAccessible();
int byteCount = checkPutBounds(SizeOf.SHORT, src.length, srcOffset, shortCount); // here is the error
this.block.pokeShortArray(offset + position, src, srcOffset, …Run Code Online (Sandbox Code Playgroud) 我在将Twitter Fabric SDK集成到我的应用程序时遇到了困难.我按照Twitter教程的步骤进行操作,但是当我尝试用gradle构建我的项目时,我得到了这个错误:
Error:Execution failed for task ':app:dexDebug'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
D:\Android\android-studio\sdk\build-tools\android-4.4W\dx.bat --dex --output ...
Error Code: 2
Output:
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Lcom/google/gson/JsonSerializer;
at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:594)
at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:552)
at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:533)
at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:170)
at com.android.dx.merge.DexMerger.merge(DexMerger.java:188)
at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:439)
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:287)
at com.android.dx.command.dexer.Main.run(Main.java:230)
at com.android.dx.command.dexer.Main.main(Main.java:199)
at com.android.dx.command.Main.main(Main.java:103)
Run Code Online (Sandbox Code Playgroud)
我尝试从我的app模块lib文件夹中删除我的静态Gson库,之后一切都很顺利.删除从gradle模块依赖项添加twitter sdk的行时也一样,所以我很确定这两者之间存在某种冲突,我正在寻求解决它.
任何帮助将不胜感激 !
如果它可以对那里的人有用,这里是我的gradle app模块文件:
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
android {
...
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug { …Run Code Online (Sandbox Code Playgroud)