Android studio(2.2.0和2.2.1)将错误的ABI拆分发送到设备

时间:2016-09-27 14:51:58

标签: android android-studio

我在我的应用程序中使用ABI拆分

splits {
    abi {
        enable true
        reset()
        include 'x86', 'x86_64', 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'mips'
        universalApk true
    }
}

如果我使用x86_64模拟器然后切换到设备(armeabi-v7a)(以及其他人),android studio会将app-x86_64-debug.apk发送到设备

09/27 17:17:49: Launching app
$ adb push SampleFolder\app\build\outputs\apk\app-x86_64-debug.apk /data/local/tmp/sample.package
$ adb shell pm install -r "/data/local/tmp/sample.package"
pkg: /data/local/tmp/sample.package
Failure [INSTALL_FAILED_NO_MATCHING_ABIS]

编辑:我如何解决此问题的方式

  • 我关闭了x86_64模拟器
  • 连接真实测试设备
  • 跟随运行 - 编辑配置 - 目标(打开选择部署目标对话框)
  • 选择连接的测试设备

Android Studio 2.2.1

在发布2.2.1之后,我发挥了一点分裂,然后一切都看起来不错。不幸的是,我再次遇到同样的问题。为了确保清楚,我创建了新的android项目和导入的realm数据库(有本机库)然后,

将拆分部分添加到gradle

 splits {
    abi {
        enable true
        reset()
        include 'x86', 'x86_64', 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'mips'
    }
}

创建了应用程序类

public class SampleApp extends Application {

    @Override
    public void onCreate() {
        initRealm();
    }

    private void initRealm(){
        Realm.init(getApplicationContext());
        RealmConfiguration.Builder builder = new RealmConfiguration.Builder();
        builder.deleteRealmIfMigrationNeeded();
        RealmConfiguration configuration = builder.build();
        Realm.setDefaultConfiguration(configuration);
    }
}

选择了我的设备

enter image description here

app工作,所以工作室向设备发送了适当的apk(app-armeabi-v7a-debug.apk)

$ adb push /home/blackkara/projects/Sample/app/build/outputs/apk/app-armeabi-v7a-debug.apk /data/local/tmp/com.blackkara.sample

毕竟,我改变了代码

public class SampleApp extends Application {

    @Override
    public void onCreate() {
        initRealm();

        // The added code
        Realm realm = Realm.getDefaultInstance();
    }

    private void initRealm(){
        Realm.init(getApplicationContext());
        RealmConfiguration.Builder builder = new RealmConfiguration.Builder();
        builder.deleteRealmIfMigrationNeeded();
        RealmConfiguration configuration = builder.build();
        Realm.setDefaultConfiguration(configuration);
    }
}

然后再次运行app,但这次工作室向设备发送了错误的apk(app-armeabi-debug.apk)

 $ adb push /home/blackkara/projects/Sample/app/build/outputs/apk/app-armeabi-debug.apk /data/local/tmp/com.blackkara.sample

1 个答案:

答案 0 :(得分:2)

根据Issue 215493,Android Studio 2.2.1中已发布修复程序。