我在我的应用程序中使用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]
编辑:我如何解决此问题的方式
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);
}
}
选择了我的设备
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