转换为Dalvik格式失败:无法执行dex:方法ID不在[0,0xffff]中:65536 Eclipse Android

时间:2016-09-12 07:39:01

标签: android

我使用Eclipse,3天前我将API-23添加到我的Eclipse(以前是API-22)以实现某些功能。但在添加API-23后,我在控制台中收到以下错误 -

<TH>
    <FORM>
    <p>Commune</p>
    <SELECT size="1" id="commune" >
        <OPTION>
        <?php
            try {
                // Parametres connexion
                $bdd = new PDO('mysql:host=localhost;dbname=db', 'root', '') or die ("Impossible de se connecter au serveur où est stocké la Base de Données.");
                // Requête
                $resultats = $bdd -> query("SELECT DISTINCT Commune                                                                                 FROM adresse                                                                                    WHERE Departement='AVEYRON'                                                                                     ORDER BY Commune ASC");
                // Tant qu'il y a des enregistrements, remplir la liste déroulante
                while($d = $resultats->fetch()) 
                {
                    echo '<option value="'.$d["Commune"].'">'.$d["Commune"].'</option><br/>';
                }
            }
            catch(PDOException $e){
                echo 'Erreur : ' . $e->getMessage();
            }
            ?>
        </OPTION>
    </SELECT>

    <!-- jQuery : Récupère le code postal choisi -->
    <script>
    var commune_ = '';
    $('#commune').change(function commune() {
            commune_ = $('#commune option:selected').first().attr('value');

            // Display on input named "pu"
            // $('#pu').val(commune_);

            });
    </script>
</FORM>

有关详细信息,请参阅以下屏幕截图 -

enter image description here

enter image description here

3天以来我一直坚持这个问题,所以任何帮助都非常感激。谢谢。

4 个答案:

答案 0 :(得分:1)

发生此错误是因为65K方法的限制超出了。

您需要检查项目中添加了多少个库或.jar个文件。

此错误主要发生在您的google-play-services libs项目中。因为现在它为Android Studio提供了不同类型的依赖关系。

<强>解决方案:

要在运行项目时克服这个问题,您需要取消选中这两个选项

  

Android私有库和Android依赖

清理项目并运行后。

答案 1 :(得分:1)

你已经超过了64K方法的Android限制。如果您接近极限,升级到更新的库或更新的API可能会超出限制。

请按照官方instructions的说明,了解如何使用64K以上的方法构建您的应用。

答案 2 :(得分:1)

当我使用Eclipse导入大量库时,我遇到了这个问题。我通过删除未使用的库并在建立时使用proguard来解决问题。 我搜索并发现库支持eclipse

  

https://github.com/mmin18/Dex65536

你可以尝试一下。

但我认为您需要更改为Android Studio,它绝对会解决您的问题。

答案 3 :(得分:0)

I just found an alternative to solve this issue on Eclipse when using Google Play Services. Because on Eclipse it seems that there is no way to use multidex as in Android Studio (and Gradle) this seems the only way to work on Eclipse rigth now.

1] go in the google-play-service-lib project
2] go in libs
3] unzip the file google-play-services.jar
4] go in the the unzipped folder and remove all folders that you don't need (i.e. if you need Analytics, you can remove ads, games, maps, wallet, drive, etc.)
5]zip again such a folder (that now contains only the needed libraries) together with the MANIFEST folder
6]use such new jar with your project.

我在this link. 得到了答案。请参阅&#34; Ugo Chirico&#34;给出的答案。