博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
I.MX6 Ethernet UI patch failed
阅读量:6082 次
发布时间:2019-06-20

本文共 63781 字,大约阅读时间需要 212 分钟。

/*********************************************************************** *                     I.MX6 Ethernet UI patch failed * 说明: *     最近想要在I.MX6的Android上添加Ethernet UI界面,但是使用NXP提供的 * patch,结果失败了。 * *                                     2016-4-21 深圳 南山平山村 曾剑锋 **********************************************************************/一、参考文档:    1. How to Add Ethernet UI Support in ICS        https://community.freescale.com/docs/DOC-93626    2. 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:        1. framework/base-----0001-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.        2. Build---0001-ENGR00220371-Ethernet-add-ethernet-support.patch            add package directory compile.        3. packages\apps\Settings---0001-ENGR00220371-Ethernet-add-app-UI-in-setting.patch            add UI logic in setting app.        4. packages\providers\DownloadProvider---0001-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/0001-ENGR00220371-Ethernet-add-ethernet-support.patch         creating: Frameworks/       creating: Frameworks/base/      inflating: Frameworks/base/0001-enhance-ethernet-handling-thanks-to-Android-x86-proj.patch        inflating: packages/apps/Settings/0001-Adds-Ethernet-Settings-Android-x86-patch.patch        inflating: packages/providers/DownloadProvider/0001-Adds-Ethernet-support-for-Freescale-platform.patch      zengjf@zengjf:~/myandroid$ cp Frameworks/base/0001-enhance-ethernet-handling-thanks-to-Android-x86-proj.patch frameworks/base/四、patch:    1. 0001-ENGR00220371-Ethernet-add-ethernet-support.patch        zengjf@zengjf:~/myandroid/build$ patch -p1 < 0001-ENGR00220371-Ethernet-add-ethernet-support.patch         patching file core/pathmap.mk        Hunk #1 succeeded at 94 (offset 7 lines).    2. 0001-Adds-Ethernet-Settings-Android-x86-patch.patch         zengjf@zengjf:~/myandroid/packages/apps/Settings$ patch -p1 < 0001-Adds-Ethernet-Settings-Android-x86-patch.patch         patching file AndroidManifest.xml        Hunk #1 succeeded at 133 (offset 45 lines).        patching file proguard.flags        Hunk #1 FAILED at 11.        1 out of 1 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 #1 succeeded at 1237 with fuzz 2 (offset 85 lines).        patching file res/xml/ethernet_settings.xml        patching file res/xml/settings_headers.xml        Hunk #1 succeeded at 58 with fuzz 2 (offset 1 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    3. 0001-Adds-Ethernet-support-for-Freescale-platform.patch         zengjf@zengjf:~/myandroid/packages/providers/DownloadProvider$ patch -p1 < 0001-Adds-Ethernet-support-for-Freescale-platform.patch         patching file src/com/android/providers/downloads/DownloadInfo.java        Hunk #1 succeeded at 424 with fuzz 2 (offset 6 lines).        Hunk #2 succeeded at 443 (offset 6 lines).    4. 0001-enhance-ethernet-handling-thanks-to-Android-x86-proj.patch         zengjf@zengjf:~/myandroid/frameworks/base$ patch -p1 < 0001-enhance-ethernet-handling-thanks-to-Android-x86-proj.patch         patching file Android.mk        Hunk #1 FAILED at 197.        1 out of 1 hunk FAILED -- saving rejects to file Android.mk.rej        patching file api/current.txt        Hunk #1 succeeded at 3352 (offset 154 lines).        Hunk #2 succeeded at 5439 with fuzz 2 (offset 328 lines).        Hunk #3 succeeded at 12937 (offset 946 lines).        Hunk #4 FAILED at 17632.        1 out of 4 hunks FAILED -- saving rejects to file api/current.txt.rej        patching file core/java/android/app/ContextImpl.java        Hunk #1 succeeded at 74 (offset 13 lines).        Hunk #2 succeeded at 520 with fuzz 1 (offset 62 lines).        patching file core/java/android/app/DownloadManager.java        Hunk #1 succeeded at 351 with fuzz 2 (offset 10 lines).        patching file core/java/android/content/Context.java        Hunk #1 succeeded at 1838 (offset 377 lines).        patching file core/java/android/net/EthernetDataTracker.java        Hunk #1 FAILED at 139.        1 out of 1 hunk FAILED -- saving rejects to file core/java/android/net/EthernetDataTracker.java.rej        patching file core/java/android/provider/Settings.java        Hunk #1 FAILED at 3220.        1 out of 1 hunk FAILED -- saving rejects to file core/java/android/provider/Settings.java.rej        patching file core/jni/Android.mk        Hunk #1 succeeded at 76 with fuzz 2 (offset 2 lines).        patching file core/jni/AndroidRuntime.cpp        Hunk #1 succeeded at 146 with fuzz 1.        Hunk #2 FAILED at 1160.        1 out of 2 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 #1 succeeded at 34 (offset -1 lines).        Hunk #2 succeeded at 146 (offset 30 lines).        Hunk #3 succeeded at 169 (offset 30 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 #1 succeeded at 413 (offset 66 lines).        patching file packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java        Hunk #1 FAILED at 41.        Hunk #2 succeeded at 75 (offset 1 line).        Hunk #3 succeeded at 92 (offset 2 lines).        Hunk #4 FAILED at 110.        Hunk #5 FAILED at 144.        3 out of 5 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 #1 succeeded at 26 (offset -5 lines).        Hunk #2 succeeded at 60 (offset -3 lines).        Hunk #4 succeeded at 115 (offset 1 line).        Hunk #5 succeeded at 154 (offset 6 lines).        Hunk #6 succeeded at 169 (offset 9 lines).        Hunk #7 succeeded at 185 with fuzz 1 (offset 9 lines).        Hunk #8 succeeded at 210 (offset 18 lines).        Hunk #9 succeeded at 250 with fuzz 2 (offset 18 lines).        Hunk #10 succeeded at 296 (offset 26 lines).        Hunk #11 succeeded at 347 (offset 36 lines).        Hunk #12 succeeded at 432 (offset 63 lines).        Hunk #13 succeeded at 938 (offset 96 lines).        Hunk #14 succeeded at 1025 (offset 108 lines).        Hunk #15 succeeded at 1067 with fuzz 2 (offset 111 lines).        Hunk #16 succeeded at 1081 with fuzz 1 (offset 113 lines).        Hunk #17 succeeded at 1153 (offset 115 lines).        Hunk #18 FAILED at 1090.        Hunk #19 succeeded at 1237 (offset 127 lines).        Hunk #20 FAILED at 1125.        Hunk #21 succeeded at 1325 (offset 142 lines).        Hunk #22 succeeded at 1356 (offset 142 lines).        Hunk #23 succeeded at 1375 (offset 142 lines).        Hunk #24 succeeded at 1452 with fuzz 1 (offset 154 lines).        Hunk #25 succeeded at 1550 (offset 166 lines).        2 out of 25 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 #1 succeeded at 272 (offset 38 lines).        patching file services/java/com/android/server/ConnectivityService.java        Hunk #1 succeeded at 68 (offset 14 lines).        Hunk #2 succeeded at 449 (offset 34 lines).        Hunk #3 FAILED at 511.        1 out of 3 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:     1. 以下是打补丁出现问题的部分,需要手动打补丁。    2. 1 out of 1 hunk FAILED -- saving rejects to file proguard.flags.rej        1. cat packages/apps/Settings/proguard.flags.rej            --- proguard.flags            +++ proguard.flags            @@ -11,4 +11,4 @@             -keep class com.android.settings.MasterClearConfirm             -keep class com.android.settings.accounts.*             -keep class com.android.settings.fuelgauge.*            -            +-keep class com.android.settings.ethernet.*    3.  1 out of 1 hunk FAILED -- saving rejects to file Android.mk.rej        1. cat framework/base/Android.mk.rej                   --- Android.mk            +++ Android.mk            @@ -197,6 +197,7 @@                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 \    4. 1 out of 4 hunks FAILED -- saving rejects to file api/current.txt.rej        1. cat framework/base/api/current.txt.rej            --- api/current.txt            +++ api/current.txt            @@ -17632,6 +17758,14 @@                 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";    5. 1 out of 1 hunk FAILED -- saving rejects to file core/java/android/net/EthernetDataTracker.java.rej        1. cat framework/base/core/java/android/net/EthernetDataTracker.java.rej            --- core/java/android/net/EthernetDataTracker.java            +++ core/java/android/net/EthernetDataTracker.java            @@ -139,20 +139,18 @@                     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) {    6. 1 out of 1 hunk FAILED -- saving rejects to file core/java/android/provider/Settings.java.rej        1. cat frameworks/base/core/java/android/provider/Settings.java.rej            --- core/java/android/provider/Settings.java            +++ core/java/android/provider/Settings.java            @@ -3220,6 +3220,18 @@                         "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.                      */    7. 1 out of 2 hunks FAILED -- saving rejects to file core/jni/AndroidRuntime.cpp.rej        1. cat framework/base/core/jni/AndroidRuntime.cpp.rej            --- core/jni/AndroidRuntime.cpp            +++ core/jni/AndroidRuntime.cpp            @@ -1160,6 +1161,7 @@                 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),    8. 3 out of 5 hunks FAILED -- saving rejects to file packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java.rej        1. 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            @@ -41,13 +41,15 @@                 private boolean mWifiVisible = false;                 private int mWifiStrengthId = 0, mWifiActivityId = 0;            +    private boolean mEthernetVisible = false;            +    private int mEthernetId = 0;                 private boolean mMobileVisible = false;                 private int mMobileStrengthId = 0, mMobileActivityId = 0, mMobileTypeId = 0;                 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) {            @@ -110,6 +116,15 @@                     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;            @@ -144,6 +159,14 @@                                 (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);    9. 2 out of 25 hunks FAILED -- saving rejects to file packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java.rej        1. 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            @@ -1090,7 +1163,7 @@                             combinedSignalIconId = mDataSignalIconId;                         }                     }EthernetService.java:116: cannot find symbolsymbol  : 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);            @@ -1125,12 +1199,14 @@                                 + " 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)                     {    10.  1 out of 3 hunks FAILED -- saving rejects to file services/java/com/android/server/ConnectivityService.java.rej         1. 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            @@ -511,8 +512,14 @@                             }                             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 " +        2. 实际修改:           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:    1. error1:        1. 现象:            frameworks/base/core/res/res/values/config.xml:1029: Originally defined here.            frameworks/base/core/res/res/values/config.xml.orig:1027: error: Resource entry config_notificationFallbackVibePattern already has bag item ^index_2.            frameworks/base/core/res/res/values/config.xml:1030: Originally defined here.            frameworks/base/core/res/res/values/config.xml.orig:1028: error: Resource entry config_notificationFallbackVibePattern already has bag item ^index_3.            frameworks/base/core/res/res/values/config.xml:1031: Originally defined here.            frameworks/base/core/res/res/values/config.xml.orig:1032: error: Resource entry config_speed_up_audio_on_mt_calls is already defined.            frameworks/base/core/res/res/values/config.xml:1035: Originally defined here.            make: *** [out/target/common/obj/APPS/framework-res_intermediates/package-export.apk] Error 1            make: *** Deleting file `out/target/common/obj/APPS/framework-res_intermediates/package-export.apk'        2. 解决办法:            zengjf@zengjf:~/myandroid/frameworks/base/core/res/res/values$ rm config.xml.orig    2. error2:        1. 现象:            ......            uct/sabresd_6dq/system/etc/permissions/android.software.live_wallpaper.xml'            build/core/base_rules.mk:502: 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:167: cannot find symbol            symbol  : variable mClearIp            location: class android.net.EthernetDataTracker                   if (mClearIp){                       ^            frameworks/base/ethernet/java/android/net/ethernet/EthernetStateTracker.java:66: 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:210: cannot find symbol            symbol  : variable addr            location: class android.net.InterfaceConfiguration                            ifcfg.addr = mDhcpInfo.makeLinkAddress();                                 ^            frameworks/base/ethernet/java/android/net/ethernet/EthernetStateTracker.java:211: 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.            4 errors        2. 解决办法:            1. 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);                           }                       }                       */                    }                    ......                }            2. 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){                            ......                    }                    ......                }    3. error3:        1. 现象:            Docs droiddoc: out/target/common/docs/api-stubs            DroidDoc took 14 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:19000: error 10: Removed field android.provider.Settings.Secure.ETHERNET_CONF            frameworks/base/api/current.txt:19001: error 10: Removed field android.provider.Settings.Secure.ETHERNET_DNS            frameworks/base/api/current.txt:19002: error 10: Removed field android.provider.Settings.Secure.ETHERNET_IFNAME            frameworks/base/api/current.txt:19003: error 10: Removed field android.provider.Settings.Secure.ETHERNET_IP            frameworks/base/api/current.txt:19004: error 10: Removed field android.provider.Settings.Secure.ETHERNET_MASK            frameworks/base/api/current.txt:19005: error 10: Removed field android.provider.Settings.Secure.ETHERNET_MODE            frameworks/base/api/current.txt:19006: error 10: Removed field android.provider.Settings.Secure.ETHERNET_ON            frameworks/base/api/current.txt:19007: error 10: Removed field android.provider.Settings.Secure.ETHERNET_ROUTE            out/target/common/obj/PACKAGING/public_api.txt:18870: error 5: Added public field android.provider.Settings.Global.ETHERNET_CONF            out/target/common/obj/PACKAGING/public_api.txt:18871: error 5: Added public field android.provider.Settings.Global.ETHERNET_DNS            out/target/common/obj/PACKAGING/public_api.txt:18872: error 5: Added public field android.provider.Settings.Global.ETHERNET_IFNAME            out/target/common/obj/PACKAGING/public_api.txt:18873: error 5: Added public field android.provider.Settings.Global.ETHERNET_IP            out/target/common/obj/PACKAGING/public_api.txt:18874: error 5: Added public field android.provider.Settings.Global.ETHERNET_MASK            out/target/common/obj/PACKAGING/public_api.txt:18875: error 5: Added public field android.provider.Settings.Global.ETHERNET_MODE            out/target/common/obj/PACKAGING/public_api.txt:18876: error 5: Added public field android.provider.Settings.Global.ETHERNET_ON            out/target/common/obj/PACKAGING/public_api.txt:18877: error 5: 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:               1) You can add "@hide" javadoc comments to the methods, etc. listed in the                  errors above.               2) 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 38        2. 解决办法:            make update-api    4. error4:        1. 现象:            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:27:0:            bionic/libc/kernel/common/linux/netlink.h:52:2: 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:97:49: error: 'LOGE' was not declared in this scope            frameworks/base/core/jni/android_net_ethernet.cpp:122:49: 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:176:13: 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:209:47: 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:254:53: error: 'LOGE' was not declared in this scope            frameworks/base/core/jni/android_net_ethernet.cpp:258:58: error: 'LOGE' was not declared in this scope            frameworks/base/core/jni/android_net_ethernet.cpp:264:67: error: 'LOGE' was not declared in this scope            frameworks/base/core/jni/android_net_ethernet.cpp:270:74: 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:290:27: error: 'LOGI' was not declared in this scope            frameworks/base/core/jni/android_net_ethernet.cpp:292:18: error: 'struct sockaddr_nl' has no member named 'nl_family'            frameworks/base/core/jni/android_net_ethernet.cpp:294:19: error: 'struct sockaddr_nl' has no member named 'nl_family'            frameworks/base/core/jni/android_net_ethernet.cpp:303:53: error: 'LOGE' was not declared in this scope            frameworks/base/core/jni/android_net_ethernet.cpp:308:54: error: 'LOGE' was not declared in this scope            frameworks/base/core/jni/android_net_ethernet.cpp:314:54: error: 'LOGE' was not declared in this scope            frameworks/base/core/jni/android_net_ethernet.cpp:321:75: error: 'LOGE' was not declared in this scope            frameworks/base/core/jni/android_net_ethernet.cpp:327:54: error: 'LOGE' was not declared in this scope            frameworks/base/core/jni/android_net_ethernet.cpp:330:52: 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:349:56: 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:385:42: 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 1        2. 参考文档:            1. error: 'LOGE' was not declared in this scope                http://blog.csdn.net/yasin_lee/article/details/8668797            2. Android4.0.3/Android4.2.2 添加 Ethernet                http://blog.csdn.net/qinyun188/article/details/7991093        3. 解决方法:            1. 将frameworks/base/core/jni/android_net_ethernet.cpp中的LOGE、LOGI宏前面加上A。            2. cat bionic/libc/kernel/common/linux/socket.h                ......                typedef unsigned short sa_family_t;                ......    5. error5:        1. 类似错误现象:            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:32: warning: overriding commands for target `out/target/product/sabresd_6dq/system/etc/permissions/android.software.live_wallpaper.xml'            build/core/base_rules.mk:502: 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:925: 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:926: 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:927: 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:928: 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:929: 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:930: 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:931: 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:932: 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.            8 errors            make: *** [out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes-full-debug.jar] Error 41        2. 这是由于手动打补丁的静态变量位置打错了造成的,变量没有打在class Secure类里面,打到class system里去了。        3. 修改正打补丁的位置就解决了。                6. error6:        1. 现象:            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. 错误原因:            未找到。

 

转载于:https://www.cnblogs.com/zengjfgit/p/5416823.html

你可能感兴趣的文章
UIView
查看>>
Layer Filters
查看>>
微信小程序 解决 数字粗细不一 的bug
查看>>
mock.js 的用法 -- 脱离后端独立开发,实现增删改查功能
查看>>
FJ省队集训最终测试 T2
查看>>
PHP csv文件内容转成数组/Json
查看>>
[结题报告]11479 - Is this the easiest problem? Time limit: 1.000 seconds
查看>>
php中使用linux命令四大步骤
查看>>
neo4j安装与示例
查看>>
ExceptionLess新玩法 — 记日志
查看>>
RabbitMQ 集群
查看>>
启动jetty命令
查看>>
C#获取当前时间与同步时间
查看>>
端口被占用了,使用netstat找到占用端口的进程
查看>>
springboot的profile配置
查看>>
c++ 指针与 typedef
查看>>
委托-匿名方法-Lambda表达式
查看>>
MPF配置文件参数管理
查看>>
四则运算程序生成
查看>>
PIE SDK矢量数据的创建
查看>>