相关疑难解决方法(0)

仅在运行测试时出现DexIndexOverflowException

我可以在我的调试和发布版本中成功构建和运行我的Android应用程序,没有任何问题.然而,当我尝试运行我的新单元测试(之前从未有过它)时,我得到了可怕的DexIndexOverflowException.我怀疑ProGuard是不是运行我的单元测试,但它是我正常的调试和发布buildTypes.

ProGuard在单元测试运行配置中运行需要做什么?我搜索了Gradle文档,ProGuard文档和Android Studio文档来解决这个问题但我一无所获.

android unit-testing proguard gradle android-gradle-plugin

12
推荐指数
1
解决办法
5925
查看次数

无法实例化接收器java.lang.ClassNotFoundException

当我试图实例化我在启动时用来启动服务的接收器时,我的android应用程序出错了.错误很明显,找不到我的接收器的类文件.但是我的清单文件,包和所有内容的一切都没问题,我也不知道发生了什么.这是我的代码:

package dti.obd.reader;

import dti.obd.reader.service.MainService;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class BootReceiver extends BroadcastReceiver 
{
      @Override
      public void onReceive(Context context, Intent intent) 
      {
            Intent serviceIntent = new Intent(MainService.class.getName());
            context.startService(serviceIntent);
      }
}
Run Code Online (Sandbox Code Playgroud)

我的清单文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="dti.obd.reader"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="8" />


    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >

        <service android:name=".service.MainService" >
            <intent-filter >
                <action android:name="dti.obd.reader.service.MainService" />
            </intent-filter>
        </service>

        <receiver android:name="dti.obd.reader.BootReceiver" >
            <intent-filter >
                <action android:name="android.intent.action.BOOT_COMPLETED" >
                </action>
            </intent-filter>
        </receiver>
    </application>

    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

</manifest>
Run Code Online (Sandbox Code Playgroud)

有谁知道错误吗?似乎包和名字都可以......

android broadcastreceiver bootcompleted

9
推荐指数
1
解决办法
1万
查看次数

Android 4.4.4上的FlexJson ClassNotFound异常

我有一个针对Android设备的multidex项目.我使用Flexjson.我已经用flexjson 3.3和2.x进行了测试.

它与Android 5.x完美配合,但在Android 4.4.4中崩溃.

看起来Dex支持库与旧的Android版本不合适但我无法分辨.

这是我的堆栈跟踪:

 06-29 03:50:44.763  11884-11884/com.pigdroid.gameboard E/AndroidRuntime? FATAL EXCEPTION: main
    Process: com.pigdroid.gameboard, PID: 11884
    flexjson.JSONException: [ layers.values ]:  Could not load com.pigdroid.game.board.tile.model.IntTileLayer
            at flexjson.ObjectBinder.findClassInMap(ObjectBinder.java:250)
            at flexjson.ObjectBinder.findClassName(ObjectBinder.java:213)
            at flexjson.ObjectBinder.bind(ObjectBinder.java:92)
            at flexjson.ObjectBinder.bindIntoCollection(ObjectBinder.java:110)
            at flexjson.factories.ListObjectFactory.instantiate(ListObjectFactory.java:13)
            at flexjson.ObjectBinder.bind(ObjectBinder.java:95)
            at flexjson.ObjectBinder.bindIntoObject(ObjectBinder.java:149)
            at flexjson.factories.ExistingObjectFactory.instantiate(ExistingObjectFactory.java:25)
            at flexjson.ObjectBinder.bind(ObjectBinder.java:95)
            at flexjson.ObjectBinder.bind(ObjectBinder.java:74)
            at flexjson.JSONDeserializer.deserialize(JSONDeserializer.java:241)
            at flexjson.JSONDeserializer.deserializeInto(JSONDeserializer.java:301)
            at com.pigdroid.game.model.memento.UndoableObject.from(UndoableObject.java:35)
            at com.pigdroid.game.controller.GameController.loadModelFromSerialized(GameController.java:108)
            at com.pigdroid.gameboard.view.detail.game.tile.TileBoardGameFragmentController.setGame(TileBoardGameFragmentController.java:692)
            at com.pigdroid.gameboard.view.detail.game.GameDetailFragment.onKickOff(GameDetailFragment.java:168)
            at com.pigdroid.gameboard.view.ServiceFragment.kickOffIf(ServiceFragment.java:71)
            at com.pigdroid.gameboard.view.detail.game.GameDetailFragment.kickOffIf(GameDetailFragment.java:159)
            at com.pigdroid.gameboard.view.ServiceFragment$3.bound(ServiceFragment.java:52)
            at com.pigdroid.gameboard.view.ServiceFragment$3.bound(ServiceFragment.java:48)
            at com.pigdroid.android.hateaidl.HateAIDLConnection$3.onServiceConnected(HateAIDLConnection.java:118)
            at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1101)
            at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1118)
            at android.os.Handler.handleCallback(Handler.java:733)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5001) …
Run Code Online (Sandbox Code Playgroud)

android json deserialization flexjson android-multidex

9
推荐指数
1
解决办法
478
查看次数