/***********************************************************************
* I.MX6 Ethernet UI patch failed
* 说明:
* 最近想要在I.MX6的Android上添加Ethernet UI界面,但是使用NXP提供的
* patch,结果失败了。
*
* 2016-4-21 深圳 南山平山村 曾剑锋
**********************************************************************/ 一、参考文档:
. How to Add Ethernet UI Support in ICS
https://community.freescale.com/docs/DOC-93626
. Couldn't parse API file “frameworks/base/api/current.txt”
http://stackoverflow.com/questions/14622020/couldnt-parse-api-file-frameworks-base-api-current-txt 二、Introduction
If you want to add Ethernet UI support , you need manually apply the attached patches in this file which is based on Android ICS and i.MX6.
About what the patches do, here is some comments:
. framework/base------ENGR00220371-Ethernet-add-support-for-ethernet.patch
By default, Android has no support for Ethernet UI. So if you want to add Ethernet UI , add Ethernet state tracker & Ethernet service & Ethernet manager & Ethernet monitor like WiFi. Meanwhile we need add Ethernet display support in status bar. Here this patch can solve it.
. Build----ENGR00220371-Ethernet-add-ethernet-support.patch
add package directory compile.
. packages\apps\Settings----ENGR00220371-Ethernet-add-app-UI-in-setting.patch
add UI logic in setting app.
. packages\providers\DownloadProvider----ENGR00220371-Ethernet-add-downloadinfo.patch
add ConnectivityManager.TYPE_ETHERNET type support in download provider’s DownloadInfo. 三、decompress:
zengjf@zengjf:~/myandroid$ unzip imx6-ics-ethernet-v3.zip
Archive: imx6-ics-ethernet-v3.zip
inflating: build/-ENGR00220371-Ethernet-add-ethernet-support.patch
creating: Frameworks/
creating: Frameworks/base/
inflating: Frameworks/base/-enhance-ethernet-handling-thanks-to-Android-x86-proj.patch
inflating: packages/apps/Settings/-Adds-Ethernet-Settings-Android-x86-patch.patch
inflating: packages/providers/DownloadProvider/-Adds-Ethernet-support-for-Freescale-platform.patch
zengjf@zengjf:~/myandroid$ cp Frameworks/base/-enhance-ethernet-handling-thanks-to-Android-x86-proj.patch frameworks/base/ 四、patch:
. -ENGR00220371-Ethernet-add-ethernet-support.patch
zengjf@zengjf:~/myandroid/build$ patch -p1 < -ENGR00220371-Ethernet-add-ethernet-support.patch
patching file core/pathmap.mk
Hunk # succeeded at (offset lines). . -Adds-Ethernet-Settings-Android-x86-patch.patch
zengjf@zengjf:~/myandroid/packages/apps/Settings$ patch -p1 < -Adds-Ethernet-Settings-Android-x86-patch.patch
patching file AndroidManifest.xml
Hunk # succeeded at (offset lines).
patching file proguard.flags
Hunk # FAILED at .
out of hunk FAILED -- saving rejects to file proguard.flags.rej
patching file res/drawable/ic_settings_ethernet.xml
patching file res/layout/eth_configure.xml
patching file res/values/strings.xml
Hunk # succeeded at with fuzz (offset lines).
patching file res/xml/ethernet_settings.xml
patching file res/xml/settings_headers.xml
Hunk # succeeded at with fuzz (offset line).
patching file src/com/android/settings/ethernet/EthernetConfigDialog.java
patching file src/com/android/settings/ethernet/EthernetEnabler.java
patching file src/com/android/settings/ethernet/EthernetLayer.java
patching file src/com/android/settings/ethernet/EthernetSettings.java . -Adds-Ethernet-support-for-Freescale-platform.patch
zengjf@zengjf:~/myandroid/packages/providers/DownloadProvider$ patch -p1 < -Adds-Ethernet-support-for-Freescale-platform.patch
patching file src/com/android/providers/downloads/DownloadInfo.java
Hunk # succeeded at with fuzz (offset lines).
Hunk # succeeded at (offset lines). . -enhance-ethernet-handling-thanks-to-Android-x86-proj.patch
zengjf@zengjf:~/myandroid/frameworks/base$ patch -p1 < -enhance-ethernet-handling-thanks-to-Android-x86-proj.patch
patching file Android.mk
Hunk # FAILED at .
out of hunk FAILED -- saving rejects to file Android.mk.rej
patching file api/current.txt
Hunk # succeeded at (offset lines).
Hunk # succeeded at with fuzz (offset lines).
Hunk # succeeded at (offset lines).
Hunk # FAILED at .
out of hunks FAILED -- saving rejects to file api/current.txt.rej
patching file core/java/android/app/ContextImpl.java
Hunk # succeeded at (offset lines).
Hunk # succeeded at with fuzz (offset lines).
patching file core/java/android/app/DownloadManager.java
Hunk # succeeded at with fuzz (offset lines).
patching file core/java/android/content/Context.java
Hunk # succeeded at (offset lines).
patching file core/java/android/net/EthernetDataTracker.java
Hunk # FAILED at .
out of hunk FAILED -- saving rejects to file core/java/android/net/EthernetDataTracker.java.rej
patching file core/java/android/provider/Settings.java
Hunk # FAILED at .
out of hunk FAILED -- saving rejects to file core/java/android/provider/Settings.java.rej
patching file core/jni/Android.mk
Hunk # succeeded at with fuzz (offset lines).
patching file core/jni/AndroidRuntime.cpp
Hunk # succeeded at with fuzz .
Hunk # FAILED at .
out of hunks FAILED -- saving rejects to file core/jni/AndroidRuntime.cpp.rej
patching file core/jni/android_net_ethernet.cpp
patching file core/res/res/values/config.xml
Hunk # succeeded at (offset - lines).
Hunk # succeeded at (offset lines).
Hunk # succeeded at (offset lines).
patching file ethernet/java/android/net/ethernet/EthernetDevInfo.aidl
patching file ethernet/java/android/net/ethernet/EthernetDevInfo.java
patching file ethernet/java/android/net/ethernet/EthernetManager.java
patching file ethernet/java/android/net/ethernet/EthernetMonitor.java
patching file ethernet/java/android/net/ethernet/EthernetNative.java
patching file ethernet/java/android/net/ethernet/EthernetStateTracker.java
patching file ethernet/java/android/net/ethernet/IEthernetManager.aidl
patching file packages/SystemUI/res/layout/signal_cluster_view.xml
patching file packages/SystemUI/res/values/strings.xml
Hunk # succeeded at (offset lines).
patching file packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java
Hunk # FAILED at .
Hunk # succeeded at (offset line).
Hunk # succeeded at (offset lines).
Hunk # FAILED at .
Hunk # FAILED at .
out of hunks FAILED -- saving rejects to file packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java.rej
patching file packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java
Hunk # succeeded at (offset - lines).
Hunk # succeeded at (offset - lines).
Hunk # succeeded at (offset line).
Hunk # succeeded at (offset lines).
Hunk # succeeded at (offset lines).
Hunk # succeeded at with fuzz (offset lines).
Hunk # succeeded at (offset lines).
Hunk # succeeded at with fuzz (offset lines).
Hunk # succeeded at (offset lines).
Hunk # succeeded at (offset lines).
Hunk # succeeded at (offset lines).
Hunk # succeeded at (offset lines).
Hunk # succeeded at (offset lines).
Hunk # succeeded at with fuzz (offset lines).
Hunk # succeeded at with fuzz (offset lines).
Hunk # succeeded at (offset lines).
Hunk # FAILED at .
Hunk # succeeded at (offset lines).
Hunk # FAILED at .
Hunk # succeeded at (offset lines).
Hunk # succeeded at (offset lines).
Hunk # succeeded at (offset lines).
Hunk # succeeded at with fuzz (offset lines).
Hunk # succeeded at (offset lines).
out of hunks FAILED -- saving rejects to file packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java.rej
patching file packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java
Hunk # succeeded at (offset lines).
patching file services/java/com/android/server/ConnectivityService.java
Hunk # succeeded at (offset lines).
Hunk # succeeded at (offset lines).
Hunk # FAILED at .
out of hunks FAILED -- saving rejects to file services/java/com/android/server/ConnectivityService.java.rej
patching file services/java/com/android/server/EthernetService.java
zengjf@zengjf:~/myandroid/frameworks/base$ 五、manual for patch Faileds:
. 以下是打补丁出现问题的部分,需要手动打补丁。
. out of hunk FAILED -- saving rejects to file proguard.flags.rej
. cat packages/apps/Settings/proguard.flags.rej
--- proguard.flags
+++ proguard.flags
@@ -, +, @@
-keep class com.android.settings.MasterClearConfirm
-keep class com.android.settings.accounts.*
-keep class com.android.settings.fuelgauge.*
-
+-keep class com.android.settings.ethernet.*
. out of hunk FAILED -- saving rejects to file Android.mk.rej
. cat framework/base/Android.mk.rej
--- Android.mk
+++ Android.mk
@@ -, +, @@
telephony/java/com/android/internal/telephony/IWapPushManager.aidl \
wifi/java/android/net/wifi/IWifiManager.aidl \
wifi/java/android/net/wifi/p2p/IWifiP2pManager.aidl \
+ ethernet/java/android/net/ethernet/IEthernetManager.aidl \
telephony/java/com/android/internal/telephony/IExtendedNetworkService.aidl \
voip/java/android/net/sip/ISipSession.aidl \
voip/java/android/net/sip/ISipSessionListener.aidl \
. out of hunks FAILED -- saving rejects to file api/current.txt.rej
. cat framework/base/api/current.txt.rej
--- api/current.txt
+++ api/current.txt
@@ -, +, @@
field public static final java.lang.String DEVICE_PROVISIONED = "device_provisioned";
field public static final java.lang.String ENABLED_ACCESSIBILITY_SERVICES = "enabled_accessibility_ser vices";
field public static final java.lang.String ENABLED_INPUT_METHODS = "enabled_input_methods";
+ field public static final java.lang.String ETHERNET_CONF = "ethernet_conf";
+ field public static final java.lang.String ETHERNET_DNS = "ethernet_dns";
+ field public static final java.lang.String ETHERNET_IFNAME = "ethernet_ifname";
+ field public static final java.lang.String ETHERNET_IP = "ethernet_ip";
+ field public static final java.lang.String ETHERNET_MASK = "ethernet_netmask";
+ field public static final java.lang.String ETHERNET_MODE = "ethernet_mode";
+ field public static final java.lang.String ETHERNET_ON = "ethernet_on";
+ field public static final java.lang.String ETHERNET_ROUTE = "ethernet_iproute";
field public static final java.lang.String HTTP_PROXY = "http_proxy";
field public static final java.lang.String INPUT_METHOD_SELECTOR_VISIBILITY = "input_method_selector_v isibility";
field public static final java.lang.String INSTALL_NON_MARKET_APPS = "install_non_market_apps";
. out of hunk FAILED -- saving rejects to file core/java/android/net/EthernetDataTracker.java.rej
. cat framework/base/core/java/android/net/EthernetDataTracker.java.rej
--- core/java/android/net/EthernetDataTracker.java
+++ core/java/android/net/EthernetDataTracker.java
@@ -, +, @@
mNetworkInfo.setIsAvailable(false);
mNetworkInfo.setDetailedState(DetailedState.DISCONNECTED, null, null); - Message msg = mCsHandler.obtainMessage(EVENT_CONFIGURATION_CHANGED, mNetworkInfo);
- msg.sendToTarget();
-
- msg = mCsHandler.obtainMessage(EVENT_STATE_CHANGED, mNetworkInfo);
+ Message msg = mCsHandler.obtainMessage(EVENT_STATE_CHANGED, mNetworkInfo);
msg.sendToTarget();
- if (mClearIp){
- IBinder b = ServiceManager.getService(Context.NETWORKMANAGEMENT_SERVICE);
- INetworkManagementService service = INetworkManagementService.Stub.asInterface(b);
- try {
- service.clearInterfaceAddresses(mIface);
- } catch (Exception e) {
- Log.e(TAG, "Failed to clear addresses or disable ip" + e);
- }
- }
+
+ if (mClearIp){
+ IBinder b = ServiceManager.getService(Context.NETWORKMANAGEMENT_SERVICE);
+ INetworkManagementService service = INetworkManagementService.Stub.asInterface(b);
+ try {
+ service.clearInterfaceAddresses(mIface);
+ } catch (Exception e) {
+ Log.e(TAG, "Failed to clear addresses or disable ip" + e);
+ }
+ }
} private void interfaceRemoved(String iface) {
. out of hunk FAILED -- saving rejects to file core/java/android/provider/Settings.java.rej
. cat frameworks/base/core/java/android/provider/Settings.java.rej
--- core/java/android/provider/Settings.java
+++ core/java/android/provider/Settings.java
@@ -, +, @@
"wifi_mobile_data_transition_wakelock_timeout_ms"; /**
+ * Ethernet related configurations
+ */
+ public static final String ETHERNET_ON = "ethernet_on";
+ public static final String ETHERNET_MODE = "ethernet_mode";
+ public static final String ETHERNET_IP = "ethernet_ip";
+ public static final String ETHERNET_MASK = "ethernet_netmask";
+ public static final String ETHERNET_DNS = "ethernet_dns";
+ public static final String ETHERNET_ROUTE = "ethernet_iproute";
+ public static final String ETHERNET_CONF = "ethernet_conf";
+ public static final String ETHERNET_IFNAME = "ethernet_ifname";
+
+ /**
* Whether background data usage is allowed by the user. See
* ConnectivityManager for more info.
*/
. out of hunks FAILED -- saving rejects to file core/jni/AndroidRuntime.cpp.rej
. cat framework/base/core/jni/AndroidRuntime.cpp.rej
--- core/jni/AndroidRuntime.cpp
+++ core/jni/AndroidRuntime.cpp
@@ -, +, @@
REG_JNI(register_android_net_NetworkUtils),
REG_JNI(register_android_net_TrafficStats),
REG_JNI(register_android_net_wifi_WifiManager),
+ REG_JNI(register_android_net_ethernet_EthernetManager),
REG_JNI(register_android_nfc_NdefMessage),
REG_JNI(register_android_nfc_NdefRecord),
REG_JNI(register_android_os_MemoryFile),
. out of hunks FAILED -- saving rejects to file packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java.rej
. cat framework/base/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java.rej
--- packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java
+++ packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java
@@ -, +, @@ private boolean mWifiVisible = false;
private int mWifiStrengthId = , mWifiActivityId = ;
+ private boolean mEthernetVisible = false;
+ private int mEthernetId = ;
private boolean mMobileVisible = false;
private int mMobileStrengthId = , mMobileActivityId = , mMobileTypeId = ;
private boolean mIsAirplaneMode = false;
- private String mWifiDescription, mMobileDescription, mMobileTypeDescription;
+ private String mWifiDescription, mEthernetDescription, mMobileDescription, mMobileTypeDescription; - ViewGroup mWifiGroup, mMobileGroup;
- ImageView mWifi, mMobile, mWifiActivity, mMobileActivity, mMobileType;
+ ViewGroup mWifiGroup, mEthernetGroup, mMobileGroup;
+ ImageView mWifi, mEthernet, mMobile, mWifiActivity, mMobileActivity, mMobileType;
View mSpacer; public SignalClusterView(Context context) {
@@ -, +, @@
apply();
} + public void setEthernetIndicators(boolean visible, int statusIcon,
+ String contentDescription) {
+ mEthernetVisible = visible;
+ mEthernetId = statusIcon;
+ mEthernetDescription = contentDescription;
+
+ apply();
+ }
+
public void setMobileDataIndicators(boolean visible, int strengthIcon, int activityIcon,
int typeIcon, String contentDescription, String typeContentDescription) {
mMobileVisible = visible;
@@ -, +, @@
(mWifiVisible ? "VISIBLE" : "GONE"),
mWifiStrengthId, mWifiActivityId)); + if (mEthernetVisible) {
+ mEthernetGroup.setVisibility(View.VISIBLE);
+ mEthernet.setImageResource(mEthernetId);
+ mEthernetGroup.setContentDescription(mEthernetDescription);
+ } else {
+ mEthernetGroup.setVisibility(View.GONE);
+ }
+
if (mMobileVisible) {
mMobileGroup.setVisibility(View.VISIBLE);
mMobile.setImageResource(mMobileStrengthId);
. out of hunks FAILED -- saving rejects to file packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java.rej
. cat framework/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java.rej
--- packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java
+++ packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java
@@ -, +, @@
combinedSignalIconId = mDataSignalIconId;
}
}
EthernetService.java:: cannot find symbol
symbol : variable ETHERNET_IP
- else if (!mDataConnected && !mWifiConnected && !mBluetoothTethered && !mWimaxConnected) {
+ else if (!mDataConnected && !mWifiConnected && !mEthernetConnected && !mBluetoothTethered && !mWimaxConnected) {
// pretty much totally disconnected combinedLabel = context.getString(R.string.status_bar_settings_signal_meter_disconnected);
@@ -, +, @@
+ " mDataSignalIconId=0x" + Integer.toHexString(mDataSignalIconId)
+ " mDataTypeIconId=0x" + Integer.toHexString(mDataTypeIconId)
+ " mWifiIconId=0x" + Integer.toHexString(mWifiIconId)
+ + " mEthernetIconId=0x" + Integer.toHexString(mEthernetIconId)
+ " mBluetoothTetherIconId=0x" + Integer.toHexString(mBluetoothTetherIconId));
} if (mLastPhoneSignalIconId != mPhoneSignalIconId
|| mLastDataDirectionOverlayIconId != combinedActivityIconId
|| mLastWifiIconId != mWifiIconId
+ || mLastEthernetIconId != mEthernetIconId
|| mLastWimaxIconId != mWimaxIconId
|| mLastDataTypeIconId != mDataTypeIconId)
{
. out of hunks FAILED -- saving rejects to file services/java/com/android/server/ConnectivityService.java.rej
. cat framework/base/services/java/com/android/server/ConnectivityService.java.rej
--- services/java/com/android/server/ConnectivityService.java
+++ services/java/com/android/server/ConnectivityService.java
@@ -, +, @@
}
break;
case ConnectivityManager.TYPE_ETHERNET:
- mNetTrackers[netType] = EthernetDataTracker.getInstance();
- mNetTrackers[netType].startMonitoring(context, mHandler);
+ //mNetTrackers[netType] = EthernetDataTracker.getInstance();
+ //mNetTrackers[netType].startMonitoring(context, mHandler);
+ if (DBG) log("Starting Ethernet Service.");
+ EthernetStateTracker est = new EthernetStateTracker(context, mHandler);
+ EthernetService ethService = new EthernetService(context, est);
+ ServiceManager.addService(Context.ETHERNET_SERVICE, ethService);
+ mNetTrackers[ConnectivityManager.TYPE_ETHERNET] = est;
+ est.startMonitoring(context, mHandler);
break;
default:
loge("Trying to create a DataStateTracker for an unknown radio type " +
. 实际修改:
case TYPE_WIMAX:
return makeWimaxStateTracker(mContext, mTrackerHandler);
case TYPE_ETHERNET:
//mNetTrackers[netType] = EthernetDataTracker.getInstance();
//mNetTrackers[netType].startMonitoring(context, mHandler);
if (DBG) log("Starting Ethernet Service.");
EthernetStateTracker est = new EthernetStateTracker(mContext, mTrackerHandler);
EthernetService ethService = new EthernetService(mContext, est);
ServiceManager.addService(Context.ETHERNET_SERVICE, ethService);
//mNetTrackers[ConnectivityManager.TYPE_ETHERNET] = est;
est.startMonitoring(mContext, mTrackerHandler);
//return EthernetDataTracker.getInstance();
return est; 六、error:
. error1:
. 现象:
frameworks/base/core/res/res/values/config.xml:: Originally defined here.
frameworks/base/core/res/res/values/config.xml.orig:: error: Resource entry config_notificationFallbackVibePattern already has bag item ^index_2.
frameworks/base/core/res/res/values/config.xml:: Originally defined here.
frameworks/base/core/res/res/values/config.xml.orig:: error: Resource entry config_notificationFallbackVibePattern already has bag item ^index_3.
frameworks/base/core/res/res/values/config.xml:: Originally defined here.
frameworks/base/core/res/res/values/config.xml.orig:: error: Resource entry config_speed_up_audio_on_mt_calls is already defined.
frameworks/base/core/res/res/values/config.xml:: Originally defined here.
make: *** [out/target/common/obj/APPS/framework-res_intermediates/package-export.apk] Error
make: *** Deleting file `out/target/common/obj/APPS/framework-res_intermediates/package-export.apk'
. 解决办法:
zengjf@zengjf:~/myandroid/frameworks/base/core/res/res/values$ rm config.xml.orig
. error2:
. 现象:
......
uct/sabresd_6dq/system/etc/permissions/android.software.live_wallpaper.xml'
build/core/base_rules.mk:: warning: ignoring old commands for target `out/target/product/sabresd_6dq/system/etc/permissions/android.software.live_wallpaper.xml'
No private recovery resources for TARGET_DEVICE sabresd_6dq
target Java: framework (out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes)
frameworks/base/core/java/android/net/EthernetDataTracker.java:: cannot find symbol
symbol : variable mClearIp
location: class android.net.EthernetDataTracker
if (mClearIp){
^
frameworks/base/ethernet/java/android/net/ethernet/EthernetStateTracker.java:: android.net.ethernet.EthernetStateTracker is not abstract and does not override abstract method captivePortalCheckComplete() in android.net.NetworkStateTracker
public class EthernetStateTracker extends Handler implements NetworkStateTracker {
^
frameworks/base/ethernet/java/android/net/ethernet/EthernetStateTracker.java:: cannot find symbol
symbol : variable addr
location: class android.net.InterfaceConfiguration
ifcfg.addr = mDhcpInfo.makeLinkAddress();
^
frameworks/base/ethernet/java/android/net/ethernet/EthernetStateTracker.java:: cannot find symbol
symbol : variable interfaceFlags
location: class android.net.InterfaceConfiguration
ifcfg.interfaceFlags = "[up]";
^
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
errors
. 解决办法:
. cat frameworks/base/core/java/android/net/EthernetDataTracker.java
......
public class EthernetDataTracker implements NetworkStateTracker {
......
public void disconnect() { NetworkUtils.stopDhcp(mIface); mLinkProperties.clear();
mNetworkInfo.setIsAvailable(false);
mNetworkInfo.setDetailedState(DetailedState.DISCONNECTED, null, mHwAddr); //Message msg = mCsHandler.obtainMessage(EVENT_CONFIGURATION_CHANGED, mNetworkInfo);
//msg.sendToTarget(); //msg = mCsHandler.obtainMessage(EVENT_STATE_CHANGED, mNetworkInfo);
Message msg = mCsHandler.obtainMessage(EVENT_STATE_CHANGED, mNetworkInfo);
msg.sendToTarget(); if (!mNfsmode) {
IBinder b = ServiceManager.getService(Context.NETWORKMANAGEMENT_SERVICE);
INetworkManagementService service = INetworkManagementService.Stub.asInterface(b);
try {
service.clearInterfaceAddresses(mIface);
} catch (Exception e) {
Log.e(TAG, "Failed to clear addresses or disable ipv6" + e);
}
}
/*
if (mClearIp){
IBinder b = ServiceManager.getService(Context.NETWORKMANAGEMENT_SERVICE);
INetworkManagementService service = INetworkManagementService.Stub.asInterface(b);
try {
service.clearInterfaceAddresses(mIface);
} catch (Exception e) {
Log.e(TAG, "Failed to clear addresses or disable ip" + e);
}
}
*/ }
......
}
. cat frameworks/base/ethernet/java/android/net/ethernet/EthernetStateTracker.java
......
public class EthernetStateTracker extends Handler implements NetworkStateTracker {
......
@Override
public void captivePortalCheckComplete() {
}
......
private boolean configureInterface(EthernetDevInfo info) throws UnknownHostException {
......
try {
ifcfg = mNwService.getInterfaceConfig(info.getIfName());
//ifcfg.mAddr = mDhcpInfo.makeLinkAddress();
ifcfg.setLinkAddress(mDhcpInfo.makeLinkAddress());
//ifcfg.interfaceFlags = "[up]";
ifcfg.setFlag("[up]");
mNwService.setInterfaceConfig(info.getIfName(), ifcfg);
Slog.i(TAG,"Static IP configuration succeeded");
} catch (RemoteException re){
......
}
......
} . error3:
. 现象:
Docs droiddoc: out/target/common/docs/api-stubs
DroidDoc took sec. to write docs to out/target/common/docs/api-stubs
Copy: apicheck (out/host/linux-x86/obj/EXECUTABLES/apicheck_intermediates/apicheck)
Install: out/host/linux-x86/bin/apicheck
Checking API: checkapi-last
Checking API: checkapi-current
frameworks/base/api/current.txt:: error : Removed field android.provider.Settings.Secure.ETHERNET_CONF
frameworks/base/api/current.txt:: error : Removed field android.provider.Settings.Secure.ETHERNET_DNS
frameworks/base/api/current.txt:: error : Removed field android.provider.Settings.Secure.ETHERNET_IFNAME
frameworks/base/api/current.txt:: error : Removed field android.provider.Settings.Secure.ETHERNET_IP
frameworks/base/api/current.txt:: error : Removed field android.provider.Settings.Secure.ETHERNET_MASK
frameworks/base/api/current.txt:: error : Removed field android.provider.Settings.Secure.ETHERNET_MODE
frameworks/base/api/current.txt:: error : Removed field android.provider.Settings.Secure.ETHERNET_ON
frameworks/base/api/current.txt:: error : Removed field android.provider.Settings.Secure.ETHERNET_ROUTE
out/target/common/obj/PACKAGING/public_api.txt:: error : Added public field android.provider.Settings.Global.ETHERNET_CONF
out/target/common/obj/PACKAGING/public_api.txt:: error : Added public field android.provider.Settings.Global.ETHERNET_DNS
out/target/common/obj/PACKAGING/public_api.txt:: error : Added public field android.provider.Settings.Global.ETHERNET_IFNAME
out/target/common/obj/PACKAGING/public_api.txt:: error : Added public field android.provider.Settings.Global.ETHERNET_IP
out/target/common/obj/PACKAGING/public_api.txt:: error : Added public field android.provider.Settings.Global.ETHERNET_MASK
out/target/common/obj/PACKAGING/public_api.txt:: error : Added public field android.provider.Settings.Global.ETHERNET_MODE
out/target/common/obj/PACKAGING/public_api.txt:: error : Added public field android.provider.Settings.Global.ETHERNET_ON
out/target/common/obj/PACKAGING/public_api.txt:: error : Added public field android.provider.Settings.Global.ETHERNET_ROUTE ******************************
You have tried to change the API from what has been previously approved. To make these errors go away, you have two choices:
) You can add "@hide" javadoc comments to the methods, etc. listed in the
errors above. ) You can update current.txt by executing the following command:
make update-api To submit the revised current.txt to the main Android repository,
you will need approval.
****************************** make: *** [out/target/common/obj/PACKAGING/checkapi-current-timestamp] Error
. 解决办法:
make update-api
. error4:
. 现象:
target thumb C++: libandroid_runtime <= frameworks/base/core/jni/android_net_wifi_Wifi.cpp
target thumb C++: libandroid_runtime <= frameworks/base/core/jni/android_net_ethernet.cpp
In file included from frameworks/base/core/jni/android_net_ethernet.cpp:::
bionic/libc/kernel/common/linux/netlink.h::: error: 'sa_family_t' does not name a type
frameworks/base/core/jni/android_net_ethernet.cpp: In function '_jstring* android::android_net_ethernet_waitForEvent(JNIEnv*, jobject)':
frameworks/base/core/jni/android_net_ethernet.cpp::: error: 'LOGE' was not declared in this scope
frameworks/base/core/jni/android_net_ethernet.cpp::: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
frameworks/base/core/jni/android_net_ethernet.cpp: In function 'int android::netlink_send_dump_request(int, int, int)':
frameworks/base/core/jni/android_net_ethernet.cpp::: error: 'struct sockaddr_nl' has no member named 'nl_family'
frameworks/base/core/jni/android_net_ethernet.cpp: In function 'void android::free_int_list()':
frameworks/base/core/jni/android_net_ethernet.cpp::: error: 'LOGE' was not declared in this scope
frameworks/base/core/jni/android_net_ethernet.cpp: In function 'int android::netlink_init_interfaces_list()':
frameworks/base/core/jni/android_net_ethernet.cpp::: error: 'LOGE' was not declared in this scope
frameworks/base/core/jni/android_net_ethernet.cpp::: error: 'LOGE' was not declared in this scope
frameworks/base/core/jni/android_net_ethernet.cpp::: error: 'LOGE' was not declared in this scope
frameworks/base/core/jni/android_net_ethernet.cpp::: error: 'LOGI' was not declared in this scope
frameworks/base/core/jni/android_net_ethernet.cpp: In function 'jint android::android_net_ethernet_initEthernetNative(JNIEnv*, jobject)':
frameworks/base/core/jni/android_net_ethernet.cpp::: error: 'LOGI' was not declared in this scope
frameworks/base/core/jni/android_net_ethernet.cpp::: error: 'struct sockaddr_nl' has no member named 'nl_family'
frameworks/base/core/jni/android_net_ethernet.cpp::: error: 'struct sockaddr_nl' has no member named 'nl_family'
frameworks/base/core/jni/android_net_ethernet.cpp::: error: 'LOGE' was not declared in this scope
frameworks/base/core/jni/android_net_ethernet.cpp::: error: 'LOGE' was not declared in this scope
frameworks/base/core/jni/android_net_ethernet.cpp::: error: 'LOGE' was not declared in this scope
frameworks/base/core/jni/android_net_ethernet.cpp::: error: 'LOGE' was not declared in this scope
frameworks/base/core/jni/android_net_ethernet.cpp::: error: 'LOGE' was not declared in this scope
frameworks/base/core/jni/android_net_ethernet.cpp::: error: 'LOGE' was not declared in this scope
frameworks/base/core/jni/android_net_ethernet.cpp: In function '_jstring* android::android_net_ethernet_getInterfaceName(JNIEnv*, jobject, jint)':
frameworks/base/core/jni/android_net_ethernet.cpp::: error: 'LOGE' was not declared in this scope
frameworks/base/core/jni/android_net_ethernet.cpp: In function 'int android::register_android_net_ethernet_EthernetManager(JNIEnv*)':
frameworks/base/core/jni/android_net_ethernet.cpp::: error: 'LOGI' was not declared in this scope
make: *** [out/target/product/sabresd_6dq/obj/SHARED_LIBRARIES/libandroid_runtime_intermediates/android_net_ethernet.o] Error
. 参考文档:
. error: 'LOGE' was not declared in this scope
http://blog.csdn.net/yasin_lee/article/details/8668797
. Android4.0.3/Android4.2.2 添加 Ethernet
http://blog.csdn.net/qinyun188/article/details/7991093
. 解决方法:
. 将frameworks/base/core/jni/android_net_ethernet.cpp中的LOGE、LOGI宏前面加上A。
. cat bionic/libc/kernel/common/linux/socket.h
......
typedef unsigned short sa_family_t;
......
. error5:
. 类似错误现象:
PRODUCT_COPY_FILES frameworks/base/data/sounds/ringtones/ogg/Scarabaeus.ogg:system/media/audio/ringtones/Scarabaeus.ogg ignored.
PRODUCT_COPY_FILES frameworks/base/data/sounds/ringtones/ogg/Solarium.ogg:system/media/audio/ringtones/Solarium.ogg ignored.
build/core/Makefile:: warning: overriding commands for target `out/target/product/sabresd_6dq/system/etc/permissions/android.software.live_wallpaper.xml'
build/core/base_rules.mk:: warning: ignoring old commands for target `out/target/product/sabresd_6dq/system/etc/permissions/android.software.live_wallpaper.xml'
No private recovery resources for TARGET_DEVICE sabresd_6dq
target Java: framework (out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes)
frameworks/base/core/java/android/provider/Settings.java:: cannot find symbol
symbol : variable ETHERNET_ON
location: class android.provider.Settings.Secure
MOVED_TO_SECURE.add(Secure.ETHERNET_ON);
^
frameworks/base/core/java/android/provider/Settings.java:: cannot find symbol
symbol : variable ETHERNET_MODE
location: class android.provider.Settings.Secure
MOVED_TO_SECURE.add(Secure.ETHERNET_MODE);
^
frameworks/base/core/java/android/provider/Settings.java:: cannot find symbol
symbol : variable ETHERNET_IP
location: class android.provider.Settings.Secure
MOVED_TO_SECURE.add(Secure.ETHERNET_IP);
^
frameworks/base/core/java/android/provider/Settings.java:: cannot find symbol
symbol : variable ETHERNET_MASK
location: class android.provider.Settings.Secure
MOVED_TO_SECURE.add(Secure.ETHERNET_MASK);
^
frameworks/base/core/java/android/provider/Settings.java:: cannot find symbol
symbol : variable ETHERNET_DNS
location: class android.provider.Settings.Secure
MOVED_TO_SECURE.add(Secure.ETHERNET_DNS);
^
frameworks/base/core/java/android/provider/Settings.java:: cannot find symbol
symbol : variable ETHERNET_ROUTE
location: class android.provider.Settings.Secure
MOVED_TO_SECURE.add(Secure.ETHERNET_ROUTE);
^
frameworks/base/core/java/android/provider/Settings.java:: cannot find symbol
symbol : variable ETHERNET_CONF
location: class android.provider.Settings.Secure
MOVED_TO_SECURE.add(Secure.ETHERNET_CONF);
^
frameworks/base/core/java/android/provider/Settings.java:: cannot find symbol
symbol : variable ETHERNET_IFNAME
location: class android.provider.Settings.Secure
MOVED_TO_SECURE.add(Secure.ETHERNET_IFNAME);
^
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
errors
make: *** [out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes-full-debug.jar] Error
. 这是由于手动打补丁的静态变量位置打错了造成的,变量没有打在class Secure类里面,打到class system里去了。
. 修改正打补丁的位置就解决了。 . error6:
. 现象:
Generating ScriptField_FragmentShaderConstants_s.java ...
#@ out/host/linux-x86/bin/llvm-rs-link # out/target/common/obj/JAVA_LIBRARIES/android-common-carousel_intermediates/src/renderscript/res/raw/*.bc
target Java: android-common-carousel (out/target/common/obj/JAVA_LIBRARIES/android-common-carousel_intermediates/classes)
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Copying: out/target/common/obj/JAVA_LIBRARIES/android-common-carousel_intermediates/classes-jarjar.jar
Copying: out/target/common/obj/JAVA_LIBRARIES/android-common-carousel_intermediates/emma_out/lib/classes-jarjar.jar
Copying: out/target/common/obj/JAVA_LIBRARIES/android-common-carousel_intermediates/classes.jar
target Static Jar: android-common-carousel (out/target/common/obj/JAVA_LIBRARIES/android-common-carousel_intermediates/javalib.jar)
target Java: SystemUI (out/target/common/obj/APPS/SystemUI_intermediates/classes)
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java:124: cannot find symbol
symbol : variable connect_established
location: class com.android.systemui.R.drawable
R.drawable.connect_established,
^
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java:125: cannot find symbol
symbol : variable connect_no
location: class com.android.systemui.R.drawable
R.drawable.connect_no,
^
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java:126: cannot find symbol
symbol : variable connect_creating
location: class com.android.systemui.R.drawable
R.drawable.connect_creating
^
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java:944: cannot find symbol
symbol : variable stat_sys_ethernet_connected
location: class com.android.systemui.R.drawable
mEthernetIconId = R.drawable.stat_sys_ethernet_connected;
^
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java:946: cannot find symbol
symbol : variable stat_sys_ethernet_disconnected
location: class com.android.systemui.R.drawable
mEthernetIconId = R.drawable.stat_sys_ethernet_disconnected;
^
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java:90: cannot find symbol
symbol : variable mAirplane
location: class com.android.systemui.statusbar.SignalClusterView
mAirplane = (ImageView) findViewById(R.id.airplane);
^
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java:107: cannot find symbol
symbol : variable mAirplane
location: class com.android.systemui.statusbar.SignalClusterView
mAirplane = null;
^
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java:201: cannot find symbol
symbol : variable mAirplane
location: class com.android.systemui.statusbar.SignalClusterView
mAirplane.setVisibility(View.VISIBLE);
^
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java:202: cannot find symbol
symbol : variable mAirplane
location: class com.android.systemui.statusbar.SignalClusterView
mAirplane.setImageResource(mAirplaneIconId);
^
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java:204: cannot find symbol
symbol : variable mAirplane
location: class com.android.systemui.statusbar.SignalClusterView
mAirplane.setVisibility(View.GONE);
^
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
10 errors
make: *** [out/target/common/obj/APPS/SystemUI_intermediates/classes-full-debug.jar] Error 41
zengjf@zengjf:~/myandroid$
2. frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java
......
//ViewGroup mWifiGroup, mMobileGroup;
//ImageView mWifi, mMobile, mWifiActivity, mMobileActivity, mMobileType, mAirplane;
//ViewGroup mWifiGroup, mEthernetGroup, mMobileGroup;
//ImageView mWifi, mEthernet, mMobile, mWifiActivity, mMobileActivity, mMobileType;
ViewGroup mWifiGroup, mEthernetGroup, mMobileGroup;
ImageView mWifi, mEthernet, mMobile, mWifiActivity, mMobileActivity, mMobileType, mAirplane;
View mSpacer;
...... 7. error7:
1. 现象:
target Java: SystemUI (out/target/common/obj/APPS/SystemUI_intermediates/classes)
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java:124: cannot find symbol
symbol : variable connect_established
location: class com.android.systemui.R.drawable
R.drawable.connect_established,
^
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java:125: cannot find symbol
symbol : variable connect_no
location: class com.android.systemui.R.drawable
R.drawable.connect_no,
^
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java:126: cannot find symbol
symbol : variable connect_creating
location: class com.android.systemui.R.drawable
R.drawable.connect_creating
^
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java:944: cannot find symbol
symbol : variable stat_sys_ethernet_connected
location: class com.android.systemui.R.drawable
mEthernetIconId = R.drawable.stat_sys_ethernet_connected;
^
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java:946: cannot find symbol
symbol : variable stat_sys_ethernet_disconnected
location: class com.android.systemui.R.drawable
mEthernetIconId = R.drawable.stat_sys_ethernet_disconnected;
^
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
5 errors
make: *** [out/target/common/obj/APPS/SystemUI_intermediates/classes-full-debug.jar] Error 41
zengjf@zengjf:~/myandroid$
2. 原因:
patch的时候,没有生成图片文件,目前不知道怎么去生成,所只能自己加入图片了;
3. 参考文档:
1. https://gitorious.org/rowboat/frameworks-base/commit/2ac2e1bfdbed5b4895c2302b1f88b7de65ae99a0
core/java/android/net/EthernetDataTracker.java
packages/SystemUI/res/drawable-hdpi/stat_sys_ethernet_connected.png
packages/SystemUI/res/drawable-hdpi/stat_sys_ethernet_disconnected.png
packages/SystemUI/res/drawable-mdpi/stat_sys_ethernet_connected.png
packages/SystemUI/res/drawable-mdpi/stat_sys_ethernet_disconnected.png
packages/SystemUI/res/drawable-sw600dp-hdpi/stat_sys_ethernet_connected.png
packages/SystemUI/res/drawable-sw600dp-hdpi/stat_sys_ethernet_disconnected.png
packages/SystemUI/res/drawable-sw600dp-mdpi/stat_sys_ethernet_connected.png
packages/SystemUI/res/drawable-sw600dp-mdpi/stat_sys_ethernet_disconnected.png
packages/SystemUI/res/drawable-sw600dp-xhdpi/stat_sys_ethernet_connected.png
packages/SystemUI/res/drawable-sw600dp-xhdpi/stat_sys_ethernet_disconnected.png
packages/SystemUI/res/drawable-xhdpi/stat_sys_ethernet_connected.png
packages/SystemUI/res/drawable-xhdpi/stat_sys_ethernet_disconnected.png
packages/SystemUI/res/layout/signal_cluster_view.xml
packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java
packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java
packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java
2. https://gitorious.org/rowboat/frameworks-base/commit/e1e6a3e55275860dc3234ffe5996a002f8391531
Android.mk
api/current.txt
core/java/android/app/ContextImpl.java
core/java/android/app/DownloadManager.java
core/java/android/content/Context.java
core/java/android/provider/Settings.java
core/jni/Android.mk
core/jni/AndroidRuntime.cpp
core/jni/android_net_ethernet.cpp
core/res/res/values/config.xml
ethernet/java/android/net/ethernet/EthernetDevInfo.aidl
ethernet/java/android/net/ethernet/EthernetDevInfo.java
ethernet/java/android/net/ethernet/EthernetManager.java
ethernet/java/android/net/ethernet/EthernetMonitor.java
ethernet/java/android/net/ethernet/EthernetNative.java
ethernet/java/android/net/ethernet/EthernetStateTracker.java
ethernet/java/android/net/ethernet/IEthernetManager.aidl
packages/SystemUI/res/drawable-hdpi/connect_creating.png
packages/SystemUI/res/drawable-hdpi/connect_established.png
packages/SystemUI/res/drawable-hdpi/connect_no.png
packages/SystemUI/res/drawable-mdpi/connect_creating.png
packages/SystemUI/res/drawable-mdpi/connect_established.png
packages/SystemUI/res/drawable-mdpi/connect_no.png
packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java
services/java/com/android/server/ConnectivityService.java
services/java/com/android/server/EthernetService.java
4. 解决办法:
拷贝对应缺少的文件到对应的目录
8. error8:
1. 现象:
target thumb C: hostapd_cli <= external/wpa_supplicant_8/hostapd/src/utils/eloop.c
target thumb C: hostapd_cli <= external/wpa_supplicant_8/hostapd/src/utils/wpa_debug.c
target thumb C: hostapd_cli <= external/wpa_supplicant_8/hostapd/src/utils/edit_simple.c
target Executable: hostapd_cli (out/target/product/sabresd_6dq/obj/EXECUTABLES/hostapd_cli_intermediates/LINKED/hostapd_cli)
target Symbolic: hostapd_cli (out/target/product/sabresd_6dq/symbols/system/bin/hostapd_cli)
Export includes file: external/wpa_supplicant_8/hostapd/Android.mk -- out/target/product/sabresd_6dq/obj/EXECUTABLES/hostapd_cli_intermediates/export_includes
target Strip: hostapd_cli (out/target/product/sabresd_6dq/obj/EXECUTABLES/hostapd_cli_intermediates/hostapd_cli)
Install: out/target/product/sabresd_6dq/system/bin/hostapd_cli
Export includes file: external/i2c-tools/Android.mk -- out/target/product/sabresd_6dq/obj/STATIC_LIBRARIES/i2c-tools_intermediates/export_includes
Import includes file: out/target/product/sabresd_6dq/obj/EXECUTABLES/i2cdetect_intermediates/import_includes
target thumb C: i2cdetect <= external/i2c-tools/tools/i2cdetect.c
Import includes file: out/target/product/sabresd_6dq/obj/STATIC_LIBRARIES/i2c-tools_intermediates/import_includes
target thumb C: i2c-tools <= external/i2c-tools/tools/util.c
target thumb C: i2c-tools <= external/i2c-tools/tools/i2cbusses.c
target StaticLib: i2c-tools (out/target/product/sabresd_6dq/obj/STATIC_LIBRARIES/i2c-tools_intermediates/i2c-tools.a)
target Executable: i2cdetect (out/target/product/sabresd_6dq/obj/EXECUTABLES/i2cdetect_intermediates/LINKED/i2cdetect)
/home/zengjf/myandroid/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: out/target/product/sabresd_6dq/obj/EXECUTABLES/i2cdetect_intermediates/tools/i2cdetect.o: in function main:external/i2c-tools/tools/i2cdetect.c:105: error: undefined reference to 'i2c_smbus_write_quick'
/home/zengjf/myandroid/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: out/target/product/sabresd_6dq/obj/EXECUTABLES/i2cdetect_intermediates/tools/i2cdetect.o: in function main:external/i2c-tools/tools/i2cdetect.c:111: error: undefined reference to 'i2c_smbus_read_byte'
collect2: ld returned 1 exit status
make: *** [out/target/product/sabresd_6dq/obj/EXECUTABLES/i2cdetect_intermediates/LINKED/i2cdetect] Error 1
zengjf@zengjf:~/myandroid$ ls
2. 原因是找不到lib/smbus.c
3. 解决办法:
# external/i2c-tools/Android.mk LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE_TAGS := eng
LOCAL_C_INCLUDES += $(LOCAL_PATH) $(LOCAL_PATH)/$(KERNEL_DIR)/include
# 问题主要是在lib/smbus.c文件需要加入该文件。
LOCAL_SRC_FILES :=tools/util.c tools/i2cbusses.c lib/smbus.c
LOCAL_MODULE := i2c-tools
include $(BUILD_STATIC_LIBRARY)
......
9. error9:
1. 现象:
01-01 00:10:02.190: E/AndroidRuntime(4195): FATAL EXCEPTION: main
01-01 00:10:02.190: E/AndroidRuntime(4195): java.lang.StackOverflowError
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.content.res.Resources.obtainAttributes(Resources.java:1381)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:117)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:885)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.graphics.drawable.Drawable.createFromXml(Drawable.java:822)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.content.res.Resources.loadDrawable(Resources.java:1950)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.content.res.Resources.getDrawable(Resources.java:660)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:173)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:885)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.graphics.drawable.Drawable.createFromXml(Drawable.java:822)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.content.res.Resources.loadDrawable(Resources.java:1950)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.content.res.Resources.getDrawable(Resources.java:660)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:173)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:885)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.graphics.drawable.Drawable.createFromXml(Drawable.java:822)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.content.res.Resources.loadDrawable(Resources.java:1950)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.content.res.Resources.getDrawable(Resources.java:660)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:173)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:885)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.graphics.drawable.Drawable.createFromXml(Drawable.java:822)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.content.res.Resources.loadDrawable(Resources.java:1950)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.content.res.Resources.getDrawable(Resources.java:660)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:173)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:885)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.graphics.drawable.Drawable.createFromXml(Drawable.java:822)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.content.res.Resources.loadDrawable(Resources.java:1950)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.content.res.Resources.getDrawable(Resources.java:660)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:173)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:885)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.graphics.drawable.Drawable.createFromXml(Drawable.java:822)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.content.res.Resources.loadDrawable(Resources.java:1950)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.content.res.Resources.getDrawable(Resources.java:660)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:173)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:885)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.graphics.drawable.Drawable.createFromXml(Drawable.java:822)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.content.res.Resources.loadDrawable(Resources.java:1950)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.content.res.Resources.getDrawable(Resources.java:660)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:173)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:885)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.graphics.drawable.Drawable.createFromXml(Drawable.java:822)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.content.res.Resources.loadDrawable(Resources.java:1950)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.content.res.Resources.getDrawable(Resources.java:660)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:173)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:885)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.graphics.drawable.Drawable.createFromXml(Drawable.java:822)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.content.res.Resources.loadDrawable(Resources.java:1950)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.content.res.Resources.getDrawable(Resources.java:660)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:173)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:885)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.graphics.drawable.Drawable.createFromXml(Drawable.java:822)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.content.res.Resources.loadDrawable(Resources.java:1950)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.content.res.Resources.getDrawable(Resources.java:660)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:173)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:885)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.graphics.drawable.Drawable.createFromXml(Drawable.java:822)
01-01 00:10:02.190: E/AndroidRuntime(4195): at android.content.res.Resources
2. 错误原因:
未找到。

I.MX6 Ethernet UI patch failed的更多相关文章

  1. I.MX6 Android iperf3 porting failed

    /***************************************************************************** * I.MX6 Android iperf ...

  2. I.MX6 Ethernet MAC (ENET) MAC Address hacking

    /********************************************************************* * I.MX6 Ethernet MAC (ENET) M ...

  3. Abp的swagger UI 出现Failed to load API definition.

    Abp 出现Failed to load API definition.如下图: 原因:本次出现的原因是Api里面的方法重名了(只是方法的参数不一样)(可能是controller中的auction上面 ...

  4. Spark2.2出现异常:ERROR SparkUI: Failed to bind SparkUI

    详细错误信息如下: // :: INFO util.log: Logging initialized @5402ms // :: INFO server.Server: jetty-9.3.z-SNA ...

  5. 如何使用git 生成patch 和打入patch【转】

    本文转载自:http://blog.csdn.net/liuhaomatou/article/details/54410361 平时我们在使用git 管理项目的时候,会遇到这样一种情况,那就是客户使用 ...

  6. git apply failed (转载)

    转自:http://blog.csdn.net/aaronzzq/article/details/6955893 git version 1.6.0.4 几个新手刚刚开始接触 Git,为了维护核心仓库 ...

  7. 如何使用git 生成patch 和打入patch 标签: gitpatch【转】

    本文转载自:http://blog.csdn.net/liuhaomatou/article/details/54410361 平时我们在使用git 管理项目的时候,会遇到这样一种情况,那就是客户使用 ...

  8. Git Gerrit Repo User Manual

                      Git Repo Gerrit User Manual Revision History   Revision # Description Date Author ...

  9. Git-rebase 小笔记

    转自: https://blog.yorkxin.org/posts/2011/07/29/git-rebase/ 最近刚好有个机会整理很乱的Git commit tree,终于搞懂了rebase 的 ...

随机推荐

  1. 【BZOJ】【1833】【ZJOI2010】count 数字计数

    数位DP Orz iwtwiioi 学习了一下用记忆化搜索来捉题的新姿势……但没学会TAT,再挖个坑(妈蛋难道对我来说数位DP就是个神坑吗……sigh) //BZOJ 1833 #include< ...

  2. 【BZOJ】【3052】【WC2013】糖果公园

    树分块 老早(大约一个月以前?)就听说这道神题了……orz rausen 一直拖到现在才做……发现还是不会呢= = 只好也去Orz了Hzwer和zky http://hzwer.com/5250.ht ...

  3. [转载]AFX_MANAGE_STATE关于资源切换

    应用程序进程本身及其调用的每个DLL模块都具有一个全局唯一的HINSTANCE句柄,它们代表了DLL或EXE模块在进程虚拟空间中的起始地址.进程本身的模块句柄一般为0x400000,而DLL模块的缺省 ...

  4. 请求--拦截器--action经过

    引用我这里想知道的是同名的多个参数,会被自动的放置在List或者数组中,我想知道是怎么实现的,因为取一个参数和取多个同名的参数是不同的方法: 一个是request.getParameter 一个是re ...

  5. RFID开发笔记 Alien阅读器文档

    1. 开机使用serial connect,完成boot后使用TCP/IP协议与主机通信 2.TagList,是一个活跃标签的列表,这里活跃的含义是在一个间隔里被监听到.如果一个标签之前没有被监听到, ...

  6. structs spring hibernate 三者之间有什么关系?

    现在开发流行MVC模式,structs在C(控制器)中使用:hibernate在M(模型)中被使用:至于 spring ,最大的作用在于,structs.hibernate的对象,由于在各个层之间相互 ...

  7. hdu 3661 Assignments(水题的解法)

    题目 //最早看了有点云里雾里,看了解析才知道可以很简单的排序过 #include<stdio.h> #include<string.h> #include<algori ...

  8. 【Linux高频命令专题(4)】sed

    简述 sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法 sed命令行格式为: sed [-ne ...

  9. python 处理 Excel 表格

    see: http://www.cnblogs.com/sunada2005/p/3193300.html 一.可使用的第三方库 python中处理excel表格,常用的库有xlrd(读excel)表 ...

  10. 关于Tomcat 6的热部署和热加载

    转载:http://blog.csdn.net/tianlincao/article/details/7263840 之前每当修改了类文件,保存后tomcat 都需要自动重启,今天作了后面的设置后,可 ...