mirror of
https://gitee.com/zhangsken/AndroidIDE.git
synced 2026-10-16 07:49:44 +08:00
fix: use Build.SUPPORTED_ABIS to check whether the device is supported
This commit is contained in:
@@ -131,7 +131,7 @@ class OnboardingActivity : AppIntro2() {
|
||||
override fun onDonePressed(currentFragment: Fragment?) {
|
||||
(currentFragment as? StatisticsFragment?)?.updateStatOptInStatus()
|
||||
|
||||
if (!IDEBuildConfigProvider.getInstance().supportsBuildFlavor()) {
|
||||
if (!IDEBuildConfigProvider.getInstance().supportsCpuAbi()) {
|
||||
finishAffinity()
|
||||
return
|
||||
}
|
||||
@@ -172,7 +172,7 @@ class OnboardingActivity : AppIntro2() {
|
||||
private fun checkDeviceSupported(): Boolean {
|
||||
val configProvider = IDEBuildConfigProvider.getInstance()
|
||||
|
||||
if (!configProvider.supportsBuildFlavor()) {
|
||||
if (!configProvider.supportsCpuAbi()) {
|
||||
addSlide(OnboardingInfoFragment.newInstance(
|
||||
getString(string.title_unsupported_device),
|
||||
getString(
|
||||
|
||||
@@ -30,8 +30,16 @@ import org.junit.Test
|
||||
*/
|
||||
class IDEBuildConfigProviderImplTest {
|
||||
|
||||
class TestBuildConfigProvider(override val cpuAbiName: String,
|
||||
override val supportedAbis: Array<String>) : IDEBuildConfigProviderImpl()
|
||||
class TestBuildConfigProvider(
|
||||
override val cpuAbiName: String,
|
||||
val deviceArchs: Array<String>,
|
||||
) : IDEBuildConfigProviderImpl() {
|
||||
|
||||
override val deviceArch: CpuArch
|
||||
get() = CpuArch.forAbi(deviceArchs[0])!!
|
||||
|
||||
override fun supportsCpuAbi(): Boolean = deviceArchs.contains(cpuAbiName)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `test aarch64 build on aarch64-only device`() {
|
||||
@@ -48,7 +56,7 @@ class IDEBuildConfigProviderImplTest {
|
||||
assertThat(isX86_64Device()).isFalse()
|
||||
assertThat(isArmeabiv7aDevice()).isFalse()
|
||||
|
||||
assertThat(supportsBuildFlavor()).isTrue()
|
||||
assertThat(supportsCpuAbi()).isTrue()
|
||||
assertThat(cpuArch).isEqualTo(deviceArch)
|
||||
}
|
||||
}
|
||||
@@ -68,7 +76,7 @@ class IDEBuildConfigProviderImplTest {
|
||||
assertThat(isX86_64Device()).isFalse()
|
||||
assertThat(isArmeabiv7aDevice()).isTrue()
|
||||
|
||||
assertThat(supportsBuildFlavor()).isTrue()
|
||||
assertThat(supportsCpuAbi()).isTrue()
|
||||
assertThat(cpuArch).isEqualTo(deviceArch)
|
||||
}
|
||||
}
|
||||
@@ -88,7 +96,7 @@ class IDEBuildConfigProviderImplTest {
|
||||
assertThat(isX86_64Device()).isTrue()
|
||||
assertThat(isArmeabiv7aDevice()).isFalse()
|
||||
|
||||
assertThat(supportsBuildFlavor()).isTrue()
|
||||
assertThat(supportsCpuAbi()).isTrue()
|
||||
assertThat(cpuArch).isEqualTo(deviceArch)
|
||||
}
|
||||
}
|
||||
@@ -108,7 +116,7 @@ class IDEBuildConfigProviderImplTest {
|
||||
assertThat(isX86_64Device()).isFalse()
|
||||
assertThat(isArmeabiv7aDevice()).isFalse()
|
||||
|
||||
assertThat(supportsBuildFlavor()).isTrue()
|
||||
assertThat(supportsCpuAbi()).isTrue()
|
||||
assertThat(cpuArch).isNotEqualTo(deviceArch)
|
||||
}
|
||||
}
|
||||
@@ -128,7 +136,7 @@ class IDEBuildConfigProviderImplTest {
|
||||
assertThat(isX86_64Device()).isTrue()
|
||||
assertThat(isArmeabiv7aDevice()).isFalse()
|
||||
|
||||
assertThat(supportsBuildFlavor()).isTrue()
|
||||
assertThat(supportsCpuAbi()).isTrue()
|
||||
assertThat(cpuArch).isNotEqualTo(deviceArch)
|
||||
}
|
||||
}
|
||||
@@ -148,7 +156,7 @@ class IDEBuildConfigProviderImplTest {
|
||||
assertThat(isX86_64Device()).isFalse()
|
||||
assertThat(isArmeabiv7aDevice()).isTrue()
|
||||
|
||||
assertThat(supportsBuildFlavor()).isFalse()
|
||||
assertThat(supportsCpuAbi()).isFalse()
|
||||
assertThat(cpuArch).isNotEqualTo(deviceArch)
|
||||
}
|
||||
}
|
||||
@@ -168,7 +176,7 @@ class IDEBuildConfigProviderImplTest {
|
||||
assertThat(isX86_64Device()).isTrue()
|
||||
assertThat(isArmeabiv7aDevice()).isFalse()
|
||||
|
||||
assertThat(supportsBuildFlavor()).isFalse()
|
||||
assertThat(supportsCpuAbi()).isFalse()
|
||||
assertThat(cpuArch).isNotEqualTo(deviceArch)
|
||||
}
|
||||
}
|
||||
@@ -188,7 +196,7 @@ class IDEBuildConfigProviderImplTest {
|
||||
assertThat(isX86_64Device()).isTrue()
|
||||
assertThat(isArmeabiv7aDevice()).isFalse()
|
||||
|
||||
assertThat(supportsBuildFlavor()).isTrue()
|
||||
assertThat(supportsCpuAbi()).isTrue()
|
||||
assertThat(cpuArch).isNotEqualTo(deviceArch)
|
||||
}
|
||||
}
|
||||
|
||||
+2
-1
@@ -17,6 +17,7 @@
|
||||
|
||||
package com.itsaky.androidide.app.configuration
|
||||
|
||||
import android.os.Build
|
||||
import com.itsaky.androidide.utils.ServiceLoader
|
||||
|
||||
/**
|
||||
@@ -79,7 +80,7 @@ interface IDEBuildConfigProvider {
|
||||
/**
|
||||
* @return Whether the IDE can be run on the device's CPU arch.
|
||||
*/
|
||||
fun supportsBuildFlavor(): Boolean = supportedAbis.contains(cpuAbiName)
|
||||
fun supportsCpuAbi(): Boolean = Build.SUPPORTED_ABIS.contains(cpuAbiName)
|
||||
|
||||
companion object {
|
||||
|
||||
|
||||
@@ -23,7 +23,6 @@ import com.blankj.utilcode.util.FileUtils;
|
||||
import com.blankj.utilcode.util.ResourceUtils;
|
||||
import com.itsaky.androidide.app.BaseApplication;
|
||||
import com.itsaky.androidide.app.configuration.IDEBuildConfigProvider;
|
||||
import com.itsaky.androidide.tasks.TaskExecutorKt;
|
||||
import com.itsaky.androidide.utils.Environment;
|
||||
import com.itsaky.androidide.utils.ILogger;
|
||||
import java.io.File;
|
||||
@@ -46,7 +45,7 @@ public class ToolsManager {
|
||||
|
||||
public static void init(@NonNull BaseApplication app, Runnable onFinish) {
|
||||
|
||||
if (!IDEBuildConfigProvider.getInstance().supportsBuildFlavor()) {
|
||||
if (!IDEBuildConfigProvider.getInstance().supportsCpuAbi()) {
|
||||
LOG.error("Device not supported");
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user