Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
门心叼龙
VirtualAPK
提交
4bd799b3
V
VirtualAPK
项目概览
门心叼龙
/
VirtualAPK
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
VirtualAPK
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
4bd799b3
编写于
8月 07, 2018
作者:
S
superq_sky
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Optimized some log.
上级
4b98b1dd
变更
17
隐藏空白更改
内联
并排
Showing
17 changed file
with
68 addition
and
41 deletion
+68
-41
CoreLibrary/src/main/java/android/databinding/DataBinderMapperProxy.java
.../main/java/android/databinding/DataBinderMapperProxy.java
+2
-1
CoreLibrary/src/main/java/com/didi/virtualapk/PluginManager.java
...rary/src/main/java/com/didi/virtualapk/PluginManager.java
+9
-5
CoreLibrary/src/main/java/com/didi/virtualapk/delegate/ActivityManagerProxy.java
...va/com/didi/virtualapk/delegate/ActivityManagerProxy.java
+6
-5
CoreLibrary/src/main/java/com/didi/virtualapk/delegate/IContentProviderProxy.java
...a/com/didi/virtualapk/delegate/IContentProviderProxy.java
+2
-1
CoreLibrary/src/main/java/com/didi/virtualapk/delegate/LocalService.java
.../main/java/com/didi/virtualapk/delegate/LocalService.java
+4
-3
CoreLibrary/src/main/java/com/didi/virtualapk/delegate/RemoteContentProvider.java
...a/com/didi/virtualapk/delegate/RemoteContentProvider.java
+4
-3
CoreLibrary/src/main/java/com/didi/virtualapk/delegate/RemoteService.java
...main/java/com/didi/virtualapk/delegate/RemoteService.java
+5
-1
CoreLibrary/src/main/java/com/didi/virtualapk/internal/ComponentsHandler.java
.../java/com/didi/virtualapk/internal/ComponentsHandler.java
+1
-1
CoreLibrary/src/main/java/com/didi/virtualapk/internal/Constants.java
...src/main/java/com/didi/virtualapk/internal/Constants.java
+3
-0
CoreLibrary/src/main/java/com/didi/virtualapk/internal/LoadedPlugin.java
.../main/java/com/didi/virtualapk/internal/LoadedPlugin.java
+2
-1
CoreLibrary/src/main/java/com/didi/virtualapk/internal/ResourcesManager.java
...n/java/com/didi/virtualapk/internal/ResourcesManager.java
+2
-2
CoreLibrary/src/main/java/com/didi/virtualapk/internal/StubActivityInfo.java
...n/java/com/didi/virtualapk/internal/StubActivityInfo.java
+1
-1
CoreLibrary/src/main/java/com/didi/virtualapk/internal/VAInstrumentation.java
.../java/com/didi/virtualapk/internal/VAInstrumentation.java
+3
-3
CoreLibrary/src/main/java/com/didi/virtualapk/internal/utils/PluginUtil.java
...n/java/com/didi/virtualapk/internal/utils/PluginUtil.java
+11
-9
CoreLibrary/src/main/java/com/didi/virtualapk/utils/Reflector.java
...ry/src/main/java/com/didi/virtualapk/utils/Reflector.java
+3
-1
CoreLibrary/src/main/java/com/didi/virtualapk/utils/RunUtil.java
...rary/src/main/java/com/didi/virtualapk/utils/RunUtil.java
+5
-2
CoreLibrary/src/main/java/com/didi/virtualapk/utils/ZipVerifyUtil.java
...rc/main/java/com/didi/virtualapk/utils/ZipVerifyUtil.java
+5
-2
未找到文件。
CoreLibrary/src/main/java/android/databinding/DataBinderMapperProxy.java
浏览文件 @
4bd799b3
...
...
@@ -5,6 +5,7 @@ import android.util.Log;
import
android.view.View
;
import
com.didi.virtualapk.PluginManager
;
import
com.didi.virtualapk.internal.Constants
;
import
com.didi.virtualapk.internal.LoadedPlugin
;
import
java.util.LinkedList
;
...
...
@@ -14,7 +15,7 @@ import java.util.LinkedList;
* Created by qiaopu on 2018/4/11.
*/
public
class
DataBinderMapperProxy
extends
DataBinderMapper
implements
PluginManager
.
Callback
{
public
static
final
String
TAG
=
"DataBinderMapperProxy"
;
public
static
final
String
TAG
=
Constants
.
TAG_PREFIX
+
"DataBinderMapperProxy"
;
private
final
LinkedList
<
DataBinderMapper
>
mMappers
;
private
DataBinderMapper
[]
mCache
;
...
...
CoreLibrary/src/main/java/com/didi/virtualapk/PluginManager.java
浏览文件 @
4bd799b3
...
...
@@ -40,6 +40,7 @@ import com.didi.virtualapk.delegate.ActivityManagerProxy;
import
com.didi.virtualapk.delegate.IContentProviderProxy
;
import
com.didi.virtualapk.delegate.RemoteContentProvider
;
import
com.didi.virtualapk.internal.ComponentsHandler
;
import
com.didi.virtualapk.internal.Constants
;
import
com.didi.virtualapk.internal.LoadedPlugin
;
import
com.didi.virtualapk.internal.VAInstrumentation
;
import
com.didi.virtualapk.internal.utils.PluginUtil
;
...
...
@@ -62,7 +63,7 @@ import java.util.concurrent.ConcurrentHashMap;
*/
public
class
PluginManager
{
public
static
final
String
TAG
=
"PluginManager"
;
public
static
final
String
TAG
=
Constants
.
TAG_PREFIX
+
"PluginManager"
;
private
static
volatile
PluginManager
sInstance
=
null
;
...
...
@@ -184,8 +185,9 @@ public class PluginManager {
Callback
callback
=
Reflector
.
on
(
"android.databinding.DataBinderMapperProxy"
).
constructor
().
newInstance
();
reflector
.
set
(
callback
);
addCallback
(
callback
);
Log
.
d
(
TAG
,
"hookDataBindingUtil succeed : "
+
callback
);
}
catch
(
Reflector
.
ReflectedException
e
)
{
e
.
printStackTrace
(
);
Log
.
w
(
TAG
,
e
);
}
}
}
...
...
@@ -220,9 +222,10 @@ public class PluginManager {
if
(
defaultSingleton
.
get
()
==
activityManagerProxy
)
{
this
.
mActivityManager
=
activityManagerProxy
;
Log
.
d
(
TAG
,
"hookSystemServices succeed : "
+
mActivityManager
);
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
(
);
Log
.
w
(
TAG
,
e
);
}
}
...
...
@@ -241,8 +244,9 @@ public class PluginManager {
Handler
mainHandler
=
Reflector
.
with
(
activityThread
).
method
(
"getHandler"
).
call
();
Reflector
.
with
(
mainHandler
).
field
(
"mCallback"
).
set
(
instrumentation
);
this
.
mInstrumentation
=
instrumentation
;
Log
.
d
(
TAG
,
"hookInstrumentationAndHandler succeed : "
+
mInstrumentation
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
(
);
Log
.
w
(
TAG
,
e
);
}
}
...
...
@@ -282,7 +286,7 @@ public class PluginManager {
}
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
(
);
Log
.
w
(
TAG
,
e
);
}
}
...
...
CoreLibrary/src/main/java/com/didi/virtualapk/delegate/ActivityManagerProxy.java
浏览文件 @
4bd799b3
...
...
@@ -33,6 +33,7 @@ import android.os.ServiceManager;
import
android.util.Log
;
import
com.didi.virtualapk.PluginManager
;
import
com.didi.virtualapk.internal.Constants
;
import
com.didi.virtualapk.internal.utils.PluginUtil
;
import
java.lang.reflect.InvocationHandler
;
...
...
@@ -43,7 +44,7 @@ import java.lang.reflect.Method;
*/
public
class
ActivityManagerProxy
implements
InvocationHandler
{
private
static
final
String
TAG
=
"IActivityManagerProxy"
;
private
static
final
String
TAG
=
Constants
.
TAG_PREFIX
+
"IActivityManagerProxy"
;
public
static
final
int
INTENT_SENDER_BROADCAST
=
1
;
public
static
final
int
INTENT_SENDER_ACTIVITY
=
2
;
...
...
@@ -82,25 +83,25 @@ public class ActivityManagerProxy implements InvocationHandler {
try
{
return
bindService
(
proxy
,
method
,
args
);
}
catch
(
Throwable
e
)
{
e
.
printStackTrace
(
);
Log
.
w
(
TAG
,
e
);
}
}
else
if
(
"unbindService"
.
equals
(
method
.
getName
()))
{
try
{
return
unbindService
(
proxy
,
method
,
args
);
}
catch
(
Throwable
e
)
{
e
.
printStackTrace
(
);
Log
.
w
(
TAG
,
e
);
}
}
else
if
(
"getIntentSender"
.
equals
(
method
.
getName
()))
{
try
{
getIntentSender
(
method
,
args
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
(
);
Log
.
w
(
TAG
,
e
);
}
}
else
if
(
"overridePendingTransition"
.
equals
(
method
.
getName
())){
try
{
overridePendingTransition
(
method
,
args
);
}
catch
(
Exception
e
){
e
.
printStackTrace
(
);
Log
.
w
(
TAG
,
e
);
}
}
...
...
CoreLibrary/src/main/java/com/didi/virtualapk/delegate/IContentProviderProxy.java
浏览文件 @
4bd799b3
...
...
@@ -24,6 +24,7 @@ import android.os.Bundle;
import
android.util.Log
;
import
com.didi.virtualapk.PluginManager
;
import
com.didi.virtualapk.internal.Constants
;
import
com.didi.virtualapk.internal.LoadedPlugin
;
import
com.didi.virtualapk.internal.PluginContentResolver
;
...
...
@@ -38,7 +39,7 @@ import java.util.Arrays;
*/
public
class
IContentProviderProxy
implements
InvocationHandler
{
private
static
final
String
TAG
=
"IContentProviderProxy"
;
private
static
final
String
TAG
=
Constants
.
TAG_PREFIX
+
"IContentProviderProxy"
;
private
IContentProvider
mBase
;
private
Context
mContext
;
...
...
CoreLibrary/src/main/java/com/didi/virtualapk/delegate/LocalService.java
浏览文件 @
4bd799b3
...
...
@@ -31,6 +31,7 @@ import android.os.IBinder;
import
android.util.Log
;
import
com.didi.virtualapk.PluginManager
;
import
com.didi.virtualapk.internal.Constants
;
import
com.didi.virtualapk.internal.LoadedPlugin
;
import
com.didi.virtualapk.internal.utils.PluginUtil
;
import
com.didi.virtualapk.utils.Reflector
;
...
...
@@ -41,7 +42,7 @@ import java.lang.reflect.Method;
* @author johnsonlee
*/
public
class
LocalService
extends
Service
{
private
static
final
String
TAG
=
"LocalService"
;
private
static
final
String
TAG
=
Constants
.
TAG_PREFIX
+
"LocalService"
;
/**
* The target service, usually it's a plugin service intent
...
...
@@ -133,7 +134,7 @@ public class LocalService extends Service {
service
.
onCreate
();
this
.
mPluginManager
.
getComponentsHandler
().
rememberService
(
component
,
service
);
}
catch
(
Throwable
t
)
{
t
.
printStackTrace
(
);
Log
.
w
(
TAG
,
t
);
}
}
try
{
...
...
@@ -146,7 +147,7 @@ public class LocalService extends Service {
Reflector
.
QuietReflector
.
with
(
iServiceConnection
).
method
(
"connected"
,
ComponentName
.
class
,
IBinder
.
class
).
call
(
component
,
binder
);
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
(
);
Log
.
w
(
TAG
,
e
);
}
break
;
}
...
...
CoreLibrary/src/main/java/com/didi/virtualapk/delegate/RemoteContentProvider.java
浏览文件 @
4bd799b3
...
...
@@ -30,6 +30,7 @@ import android.support.annotation.NonNull;
import
android.util.Log
;
import
com.didi.virtualapk.PluginManager
;
import
com.didi.virtualapk.internal.Constants
;
import
com.didi.virtualapk.internal.LoadedPlugin
;
import
com.didi.virtualapk.utils.RunUtil
;
...
...
@@ -44,7 +45,7 @@ import java.util.Map;
*/
public
class
RemoteContentProvider
extends
ContentProvider
{
private
static
final
String
TAG
=
"RemoteContentProvider"
;
private
static
final
String
TAG
=
Constants
.
TAG_PREFIX
+
"RemoteContentProvider"
;
public
static
final
String
KEY_PKG
=
"pkg"
;
public
static
final
String
KEY_PLUGIN
=
"plugin"
;
...
...
@@ -76,7 +77,7 @@ public class RemoteContentProvider extends ContentProvider {
try
{
pluginManager
.
loadPlugin
(
new
File
(
uri
.
getQueryParameter
(
KEY_PLUGIN
)));
}
catch
(
Exception
e
)
{
e
.
printStackTrace
(
);
Log
.
w
(
TAG
,
e
);
}
}
...
...
@@ -91,7 +92,7 @@ public class RemoteContentProvider extends ContentProvider {
contentProvider
.
attachInfo
(
loadedPlugin
.
getPluginContext
(),
providerInfo
);
sCachedProviders
.
put
(
auth
,
contentProvider
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
(
);
Log
.
w
(
TAG
,
e
);
}
}
},
true
);
...
...
CoreLibrary/src/main/java/com/didi/virtualapk/delegate/RemoteService.java
浏览文件 @
4bd799b3
...
...
@@ -19,8 +19,10 @@ package com.didi.virtualapk.delegate;
import
android.content.ComponentName
;
import
android.content.Intent
;
import
android.os.IBinder
;
import
android.util.Log
;
import
com.didi.virtualapk.PluginManager
;
import
com.didi.virtualapk.internal.Constants
;
import
com.didi.virtualapk.internal.LoadedPlugin
;
import
java.io.File
;
...
...
@@ -29,6 +31,8 @@ import java.io.File;
* @author johnsonlee
*/
public
class
RemoteService
extends
LocalService
{
private
static
final
String
TAG
=
Constants
.
TAG_PREFIX
+
"RemoteService"
;
@Override
public
IBinder
onBind
(
Intent
intent
)
{
...
...
@@ -50,7 +54,7 @@ public class RemoteService extends LocalService {
try
{
PluginManager
.
getInstance
(
this
).
loadPlugin
(
new
File
(
pluginLocation
));
}
catch
(
Exception
e
)
{
e
.
printStackTrace
(
);
Log
.
w
(
TAG
,
e
);
}
}
}
...
...
CoreLibrary/src/main/java/com/didi/virtualapk/internal/ComponentsHandler.java
浏览文件 @
4bd799b3
...
...
@@ -37,7 +37,7 @@ import java.util.concurrent.atomic.AtomicInteger;
public
class
ComponentsHandler
{
public
static
final
String
TAG
=
"PluginManager"
;
public
static
final
String
TAG
=
Constants
.
TAG_PREFIX
+
"PluginManager"
;
private
Context
mContext
;
private
PluginManager
mPluginManager
;
...
...
CoreLibrary/src/main/java/com/didi/virtualapk/internal/Constants.java
浏览文件 @
4bd799b3
...
...
@@ -30,5 +30,8 @@ public class Constants {
public
static
final
boolean
COMBINE_RESOURCES
=
true
;
public
static
final
boolean
COMBINE_CLASSLOADER
=
true
;
public
static
final
boolean
DEBUG
=
true
;
public
static
final
String
TAG
=
"VA"
;
public
static
final
String
TAG_PREFIX
=
TAG
+
"."
;
}
CoreLibrary/src/main/java/com/didi/virtualapk/internal/LoadedPlugin.java
浏览文件 @
4bd799b3
...
...
@@ -32,6 +32,7 @@ import android.content.pm.FeatureInfo;
import
android.content.pm.InstrumentationInfo
;
import
android.content.pm.PackageInfo
;
import
android.content.pm.PackageInstaller
;
import
android.content.pm.PackageItemInfo
;
import
android.content.pm.PackageManager
;
import
android.content.pm.PackageParser
;
import
android.content.pm.PermissionGroupInfo
;
...
...
@@ -74,7 +75,7 @@ import dalvik.system.DexClassLoader;
*/
public
class
LoadedPlugin
{
public
static
final
String
TAG
=
"LoadedPlugin"
;
public
static
final
String
TAG
=
Constants
.
TAG_PREFIX
+
"LoadedPlugin"
;
protected
File
getDir
(
Context
context
,
String
name
)
{
return
context
.
getDir
(
name
,
Context
.
MODE_PRIVATE
);
...
...
CoreLibrary/src/main/java/com/didi/virtualapk/internal/ResourcesManager.java
浏览文件 @
4bd799b3
...
...
@@ -47,7 +47,7 @@ import java.util.Objects;
*/
class
ResourcesManager
{
public
static
final
String
TAG
=
"LoadedPlugin"
;
public
static
final
String
TAG
=
Constants
.
TAG_PREFIX
+
"LoadedPlugin"
;
private
static
Configuration
mDefaultConfiguration
;
...
...
@@ -129,7 +129,7 @@ class ResourcesManager {
Object
key
=
map
.
keySet
().
iterator
().
next
();
map
.
put
(
key
,
new
WeakReference
<>(
resources
));
}
catch
(
Exception
e
)
{
e
.
printStackTrace
(
);
Log
.
w
(
TAG
,
e
);
}
}
...
...
CoreLibrary/src/main/java/com/didi/virtualapk/internal/StubActivityInfo.java
浏览文件 @
4bd799b3
...
...
@@ -58,7 +58,7 @@ class StubActivityInfo {
boolean
windowIsTranslucent
=
array
.
getBoolean
(
0
,
false
);
array
.
recycle
();
if
(
Constants
.
DEBUG
)
{
Log
.
d
(
"StubActivityInfo"
,
"getStubActivity, is transparent theme ? "
+
windowIsTranslucent
);
Log
.
d
(
Constants
.
TAG_PREFIX
+
"StubActivityInfo"
,
"getStubActivity, is transparent theme ? "
+
windowIsTranslucent
);
}
stubActivity
=
String
.
format
(
STUB_ACTIVITY_STANDARD
,
corePackage
,
usedStandardStubActivity
);
switch
(
launchMode
)
{
...
...
CoreLibrary/src/main/java/com/didi/virtualapk/internal/VAInstrumentation.java
浏览文件 @
4bd799b3
...
...
@@ -48,7 +48,7 @@ import java.util.List;
* Created by renyugang on 16/8/10.
*/
public
class
VAInstrumentation
extends
Instrumentation
implements
Handler
.
Callback
{
public
static
final
String
TAG
=
"VAInstrumentation"
;
public
static
final
String
TAG
=
Constants
.
TAG_PREFIX
+
"VAInstrumentation"
;
public
static
final
int
LAUNCH_ACTIVITY
=
100
;
protected
Instrumentation
mBase
;
...
...
@@ -174,7 +174,7 @@ public class VAInstrumentation extends Instrumentation implements Handler.Callba
activity
.
setRequestedOrientation
(
activityInfo
.
screenOrientation
);
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
(
);
Log
.
w
(
TAG
,
e
);
}
}
}
...
...
@@ -198,7 +198,7 @@ public class VAInstrumentation extends Instrumentation implements Handler.Callba
}
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
(
);
Log
.
w
(
TAG
,
e
);
}
}
...
...
CoreLibrary/src/main/java/com/didi/virtualapk/internal/utils/PluginUtil.java
浏览文件 @
4bd799b3
...
...
@@ -51,7 +51,9 @@ import java.util.zip.ZipFile;
* Created by renyugang on 16/8/15.
*/
public
class
PluginUtil
{
public
static
final
String
TAG
=
Constants
.
TAG_PREFIX
+
"NativeLib"
;
public
static
ComponentName
getComponent
(
Intent
intent
)
{
if
(
intent
==
null
)
{
return
null
;
...
...
@@ -152,7 +154,7 @@ public class PluginUtil {
reflector
.
field
(
"mResources"
).
set
(
resources
);
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
(
);
Log
.
w
(
Constants
.
TAG
,
e
);
}
}
...
...
@@ -206,12 +208,12 @@ public class PluginUtil {
}
finally
{
zipfile
.
close
();
Log
.
d
(
"NativeLib"
,
"Done! +"
+
(
System
.
currentTimeMillis
()
-
startTime
)
+
"ms"
);
Log
.
d
(
TAG
,
"Done! +"
+
(
System
.
currentTimeMillis
()
-
startTime
)
+
"ms"
);
}
}
private
static
boolean
findAndCopyNativeLib
(
ZipFile
zipfile
,
Context
context
,
String
cpuArch
,
PackageInfo
packageInfo
,
File
nativeLibDir
)
throws
Exception
{
Log
.
d
(
"NativeLib"
,
"Try to copy plugin's cup arch: "
+
cpuArch
);
Log
.
d
(
TAG
,
"Try to copy plugin's cup arch: "
+
cpuArch
);
boolean
findLib
=
false
;
boolean
findSo
=
false
;
byte
buffer
[]
=
null
;
...
...
@@ -239,29 +241,29 @@ public class PluginUtil {
if
(
buffer
==
null
)
{
findSo
=
true
;
Log
.
d
(
"NativeLib"
,
"Found plugin's cup arch dir: "
+
cpuArch
);
Log
.
d
(
TAG
,
"Found plugin's cup arch dir: "
+
cpuArch
);
buffer
=
new
byte
[
8192
];
}
String
libName
=
entryName
.
substring
(
entryName
.
lastIndexOf
(
'/'
)
+
1
);
Log
.
d
(
"NativeLib"
,
"verify so "
+
libName
);
Log
.
d
(
TAG
,
"verify so "
+
libName
);
File
libFile
=
new
File
(
nativeLibDir
,
libName
);
String
key
=
packageInfo
.
packageName
+
"_"
+
libName
;
if
(
libFile
.
exists
())
{
int
VersionCode
=
Settings
.
getSoVersion
(
context
,
key
);
if
(
VersionCode
==
packageInfo
.
versionCode
)
{
Log
.
d
(
"NativeLib"
,
"skip existing so : "
+
entry
.
getName
());
Log
.
d
(
TAG
,
"skip existing so : "
+
entry
.
getName
());
continue
;
}
}
FileOutputStream
fos
=
new
FileOutputStream
(
libFile
);
Log
.
d
(
"NativeLib"
,
"copy so "
+
entry
.
getName
()
+
" of "
+
cpuArch
);
Log
.
d
(
TAG
,
"copy so "
+
entry
.
getName
()
+
" of "
+
cpuArch
);
copySo
(
buffer
,
zipfile
.
getInputStream
(
entry
),
fos
);
Settings
.
setSoVersion
(
context
,
key
,
packageInfo
.
versionCode
);
}
if
(!
findLib
)
{
Log
.
d
(
"NativeLib"
,
"Fast skip all!"
);
Log
.
d
(
TAG
,
"Fast skip all!"
);
return
true
;
}
...
...
CoreLibrary/src/main/java/com/didi/virtualapk/utils/Reflector.java
浏览文件 @
4bd799b3
...
...
@@ -4,6 +4,8 @@ import android.support.annotation.NonNull;
import
android.support.annotation.Nullable
;
import
android.util.Log
;
import
com.didi.virtualapk.internal.Constants
;
import
java.lang.reflect.Constructor
;
import
java.lang.reflect.Field
;
import
java.lang.reflect.InvocationTargetException
;
...
...
@@ -16,7 +18,7 @@ import java.lang.reflect.Modifier;
*/
public
class
Reflector
{
public
static
final
String
LOG_TAG
=
"VA.
Reflector"
;
public
static
final
String
LOG_TAG
=
Constants
.
TAG_PREFIX
+
"
Reflector"
;
protected
Class
<?>
mType
;
protected
Object
mCaller
;
...
...
CoreLibrary/src/main/java/com/didi/virtualapk/utils/RunUtil.java
浏览文件 @
4bd799b3
...
...
@@ -23,8 +23,11 @@ import android.os.Handler;
import
android.os.Looper
;
import
android.os.Message
;
import
android.os.Process
;
import
android.util.Log
;
import
android.util.Pair
;
import
com.didi.virtualapk.internal.Constants
;
import
java.util.List
;
import
java.util.concurrent.CountDownLatch
;
import
java.util.concurrent.Executor
;
...
...
@@ -67,7 +70,7 @@ public class RunUtil {
try
{
countDownLatch
.
await
();
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
(
);
Log
.
w
(
Constants
.
TAG
,
e
);
}
}
}
...
...
@@ -89,7 +92,7 @@ public class RunUtil {
}
}
catch
(
Throwable
e
)
{
e
.
printStackTrace
(
);
Log
.
w
(
Constants
.
TAG
,
e
);
}
return
null
;
...
...
CoreLibrary/src/main/java/com/didi/virtualapk/utils/ZipVerifyUtil.java
浏览文件 @
4bd799b3
...
...
@@ -18,6 +18,9 @@ package com.didi.virtualapk.utils;
import
android.content.Context
;
import
android.util.Base64
;
import
android.util.Log
;
import
com.didi.virtualapk.internal.Constants
;
import
java.io.File
;
import
java.io.FileInputStream
;
...
...
@@ -57,7 +60,7 @@ public class ZipVerifyUtil {
in
.
close
();
return
verifyZip
(
zipPath
,
certificate
);
}
catch
(
IOException
|
CertificateException
e
)
{
e
.
printStackTrace
(
);
Log
.
w
(
Constants
.
TAG
,
e
);
return
false
;
}
}
...
...
@@ -69,7 +72,7 @@ public class ZipVerifyUtil {
remoteCertificate
.
verify
(
certificate
.
getPublicKey
());
return
true
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
(
);
Log
.
w
(
Constants
.
TAG
,
e
);
return
false
;
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录