小编Emr*_*can的帖子

具有ActionBarActivity的ActivityUnitTestCase中的NameNotFoundException

我正在尝试为现有应用程序编写一些测试.我想为测试提供一个测试应用程序类,我按照这里的例子,因为我也使用Dagger进行DI.

但是,如果测试中的活动是ActionBarActivity,我会收到以下异常:

java.lang.IllegalArgumentException: android.content.pm.PackageManager$NameNotFoundException: ComponentInfo{mypackage.view.activity/mypackage.view.activity.MyActivity}
at android.support.v4.app.NavUtils.getParentActivityName(NavUtils.java:282)
at android.support.v7.app.ActionBarActivityDelegate.onCreate(ActionBarActivityDelegate.java:116)
at android.support.v7.app.ActionBarActivityDelegateICS.onCreate(ActionBarActivityDelegateICS.java:57)
at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:98)
at mypackage.view.activity.MyActivity.onCreate(MyActivity.java:68)
at android.app.Activity.performCreate(Activity.java:5231)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.test.ActivityUnitTestCase.startActivity(ActivityUnitTestCase.java:158)
at mypackage.MyActivityTest.test(MyActivityTest.java:89)
at java.lang.reflect.Method.invokeNative(Native Method)
at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:214)
at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:199)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:191)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:176)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:554)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1701)
Caused by: android.content.pm.PackageManager$NameNotFoundException: ComponentInfo{mypackage.view.activity/mypackage.view.activity.MyActivity}
at android.app.ApplicationPackageManager.getActivityInfo(ApplicationPackageManager.java:242)
at android.support.v4.app.NavUtils.getParentActivityName(NavUtils.java:298)
at android.support.v4.app.NavUtils.getParentActivityName(NavUtils.java:279)
... 21 more
Run Code Online (Sandbox Code Playgroud)

我的测试类如下所示:

public class MyActivityTest extends ActivityUnitTestCase<MyActivity> {

    ...

    public MyActivityTest() {
        super(MyActivity.class);
    }

    private Context context;

    private TestBaseApplication application;

    @Override
    protected void setUp() throws Exception {
        super.setUp(); …
Run Code Online (Sandbox Code Playgroud)

android unit-testing android-testing android-actionbaractivity

7
推荐指数
1
解决办法
4127
查看次数

处理Libgdx中的渐进式jpeg图像

我正在尝试将一个简单的Facebook个人资料图片请求功能实现到正在使用Libgdx引擎开发的游戏中.我想获得所需的图片,并最终在屏幕上显示.我希望这可以在我的桌面和Android实现上工作.

当我尝试使用配置文件图片创建Pixmap对象时会出现问题,因为配置文件图片是渐进式jpeg,libgdx无法加载.示例代码:

inStream = new URL(url).openStream();
byte[] buffer = new byte[1024 * 200];
int readBytes = 0;
while (true) {
    int length = inStream.read(buffer, readBytes, buffer.length - readBytes);
    if (length == -1)
        break;
    readBytes += length;
}
Pixmap pixmap = new Pixmap(buffer, 0, readBytes);
Run Code Online (Sandbox Code Playgroud)

由于图像是下载的图像,我没有选择使用软件将图像转换为常规的jpeg或png格式.我已经尝试使用ImageIO软件包(在其他一些软件包中)解码图像,但它也无法处理渐进式jpeg.我无法找到适用于这两种平台的解决方案.

有什么建议可以解决这个问题?至少,如果我可以为Android处理它,也许我可以想到桌面实现的其他东西.

java android facebook libgdx

6
推荐指数
1
解决办法
1602
查看次数

有没有办法使用 Firebase App Distribution 为每个 Android 构建变体配置单独的 serviceCredentialsFile?

我们有几个 Firebase 项目,它们通过构建类型和风格共享相同的代码库。我们的目标是通过 Gradle 使用应用程序分发并使用服务帐户凭据进行身份验证。

文档中,显示firebaseAppDistribution可以使用 block 来配置参数,服务凭证文件路径就是其中之一。由于每个变体都是一个 Firebase 项目并且每个项目都有自己的服务凭证,据我所知,我们需要在 Gradle 配置中指向单独的服务凭证文件路径。

我试图根据变体使用 gradle 任务更新文件路径,但无法使其工作。当前构建文件如下所示:

...

apply plugin: 'com.google.firebase.appdistribution'

class StringExtension {
  String value

  StringExtension(String value) {
    this.value = value
  }

  public void setValue(String value) {
    this.value = value
  }

  public String getValue() {
    return value
  }
}

android {

  ...

  productFlavors.whenObjectAdded {
    flavor -> flavor.extensions.create("service_key_prefix", StringExtension, '')
  }

  productFlavors {

    flavor1 {
      ...
      service_key_prefix.value = "flavor1"
    }

    flavor2 {
      ...
      service_key_prefix.value = "flavor2"
    }
  } …
Run Code Online (Sandbox Code Playgroud)

android gradle firebase firebase-app-distribution

6
推荐指数
1
解决办法
1606
查看次数