Skip to content

Commit a1e2b2a

Browse files
authored
Merge pull request #880 from android-hacker/64bit
64bit app support
2 parents effcb5e + f5b0cb2 commit a1e2b2a

File tree

14 files changed

+660
-272
lines changed

14 files changed

+660
-272
lines changed

Diff for: README.md

+1
Original file line numberDiff line numberDiff line change
@@ -89,3 +89,4 @@ Credits
8989

9090
1. [VirtualApp](https://github.com/asLody/VirtualApp)
9191
2. [Xposed](https://github.com/rovo89/Xposed)
92+
3. [And64InlineHook](https://github.com/Rprop/And64InlineHook)

Diff for: VirtualApp/app/build.gradle

+3-3
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,13 @@ android {
2323
applicationId "io.va.exposed"
2424
minSdkVersion 21
2525
targetSdkVersion 23
26-
versionCode 182
27-
versionName "0.18.2"
26+
versionCode 190
27+
versionName "0.19.0"
2828
multiDexEnabled false
2929
android {
3030
defaultConfig {
3131
ndk {
32-
abiFilters "armeabi-v7a", "x86"
32+
abiFilters "arm64-v8a", "x86_64"
3333
}
3434
}
3535
}

Diff for: VirtualApp/app/src/main/java/io/virtualapp/home/adapters/CloneAppListAdapter.java

+1
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ public void onBindViewHolder(ViewHolder holder, int position) {
107107
holder.itemView.setOnClickListener(v -> {
108108
mItemEventListener.onItemClick(info, position);
109109
});
110+
holder.itemView.setEnabled(info.is64bit);
110111
}
111112

112113
@Override

Diff for: VirtualApp/app/src/main/java/io/virtualapp/home/models/AppInfo.java

+1
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,5 @@ public class AppInfo {
1515
public CharSequence version;
1616
public int cloneCount;
1717
public boolean disableMultiVersion;
18+
public boolean is64bit;
1819
}

Diff for: VirtualApp/app/src/main/java/io/virtualapp/home/repo/AppRepository.java

+2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import com.lody.virtual.GmsSupport;
99
import com.lody.virtual.client.core.InstallStrategy;
1010
import com.lody.virtual.client.core.VirtualCore;
11+
import com.lody.virtual.helper.compat.NativeLibraryHelperCompat;
1112
import com.lody.virtual.helper.utils.DeviceUtil;
1213
import com.lody.virtual.remote.InstallResult;
1314
import com.lody.virtual.remote.InstalledAppInfo;
@@ -200,6 +201,7 @@ private List<AppInfo> convertPackageInfoToAppData(Context context, List<PackageI
200201
info.disableMultiVersion = true;
201202
info.cloneCount = 0;
202203
}
204+
info.is64bit = NativeLibraryHelperCompat.isApk64(ai.sourceDir);
203205
list.add(info);
204206
}
205207
// sort by name

Diff for: VirtualApp/lib/build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ android {
1111
versionName "1.0"
1212
externalNativeBuild {
1313
ndkBuild {
14-
abiFilters "armeabi-v7a", "x86"
14+
abiFilters "arm64-v8a", "x86_64"
1515
}
1616
}
1717
}

Diff for: VirtualApp/lib/src/main/java/com/lody/virtual/helper/compat/NativeLibraryHelperCompat.java

+3
Original file line numberDiff line numberDiff line change
@@ -124,4 +124,7 @@ private static Set<String> getABIsFromApk(String apk) {
124124
return null;
125125
}
126126

127+
public static boolean isApk64(String apk) {
128+
return isVM64(getABIsFromApk(apk));
129+
}
127130
}

0 commit comments

Comments
 (0)