Android 解決Eclipse 方法超過65535問題

現在大部分開發應該都採用Android Studio工具做開發,但是也不乏有些比較苦逼的開發繼續採用Eclipse做開發。

最近在和一個合作伙伴做API接口聯調的時候,對方告訴我他們的遊戲架構比較老舊目前依舊採用Eclipse做Android開發,所以我這邊需要提供Eclipse版本的Android資源包。

好吧開始轉入Eclipse,發現方法太多報錯了,超過65535,這邊只好對對jar做合併分包成classes.dex。

首先電腦安裝ant,並創建build.xml文件內容如下所示

<?xml version="1.0" encoding="utf-8"?>

<project name="libs" basedir="/Users/xx/Desktop/sdkjar" default="makeSuperJar">

    <target name="makeSuperJar"  description="description">

        <jar destfile="/Users/xx/Desktop/sdkjar/all.jar">

            <zipfileset src="CustomService_1.2.3.jar"/>

            <zipfileset src="okhttp-3.12.1.jar"/>

            <zipfileset src="okio-1.15.0.jar"/>

        </jar>

    </target>

</project>

basedir="/Users/xx/Desktop/sdkjar"爲jar包所在的路徑。

destfile="/Users/xx/Desktop/sdkjar/all.jar"爲合成後jar包的路徑。

<zipfileset src="okhttp-3.12.1.jar"/>爲參與合併jar包的資源

進入到build.xml文件所在的目錄執行,ant -buildfile build.xml   命令即可實現對jar包的合併。

合併jar包後,需要採用dx –dex –output=D:\classes.dex(生成dex的路徑和名稱)   path\all.jar(需要合併的jar包路徑)

這樣就完成了classes.dex文件的生成,爲了使用這個dex,需要重命名爲classes2.dex然後放到項目的src目錄下即可完成編譯。

這樣就完成了通過分包classes.dex、classes2.dex ....等多個不同的dex文件解決了65535的問題。

除了上述操作還需要在項目的application attachBaseContext中添加 MultiDex.install(this);調用

@Override
  protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);
    }

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章