Android Q - Detected problems with app nativelibraries(please consult log for detail):libxxx.so:
预置的三方应用提示警告如下 Detected problems with app nativelibraries(please consult log for detail):libxxx.so:
·
预置的三方应用提示警告如下
Detected problems with app nativelibraries
(please consult log for detail)
libxxx.so: text relocations
网上给出的解决方案如下:
1、修改targetSdkVersion<23
2、使用正式签名
通过以上方法修改均无效,于是查找提示原因。
路径如下:
framework/base/core/java/android/app/Activity.java
final void performStart(String reason) {
dispatchActivityPreStarted();
mActivityTransitionState.setEnterActivityOptions(this, getActivityOptions());
mFragments.noteStateNotSaved();
mCalled = false;
mFragments.execPendingActions();
Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "OnStart");
mInstrumentation.callActivityOnStart(this);
Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER);
writeEventLog(LOG_AM_ON_START_CALLED, reason);
if (!mCalled) {
throw new SuperNotCalledException(
"Activity " + mComponent.toShortString() +
" did not call through to super.onStart()");
}
mFragments.dispatchStart();
mFragments.reportLoaderStart();
boolean isAppDebuggable =
(mApplication.getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0;
// This property is set for all non-user builds except final release
boolean isDlwarningEnabled = SystemProperties.getInt("ro.bionic.ld.warning", 0) == 1;
if (isAppDebuggable || isDlwarningEnabled) {
String dlwarning = getDlWarning();
if (dlwarning != null) {
String appName = getApplicationInfo().loadLabel(getPackageManager())
.toString();
String warning = "Detected problems with app native libraries\n" +
"(please consult log for detail):\n" + dlwarning;
/* lichang 屏蔽toast提示 */
Slog.v(TAG, appName + "\n" + warning);
/**
if (isAppDebuggable) {
new AlertDialog.Builder(this).
setTitle(appName).
setMessage(warning).
setPositiveButton(android.R.string.ok, null).
setCancelable(false).
show();
} else {
Toast.makeText(this, appName + "\n" + warning, Toast.LENGTH_LONG).show();
}
*/
}
}
GraphicsEnvironment.getInstance().showAngleInUseDialogBox(this);
mActivityTransitionState.enterReady(this);
dispatchActivityPostStarted();
}
由于是平台提供的sdk,无法根据提示完善或优化so库,故屏蔽该提示将提示写入系统日志。
更多推荐
已为社区贡献3条内容
所有评论(0)