taskdef class com.android.ant.NewSetupTask cannot be found


這兩天更新到最新的ADT與SDK,但是打包的時候卻出現如題的錯誤,是我的ANT文件中引用了:

    <!-- jar file from where the tasks are loaded -->
    <path id="android.antlibs">
        <pathelement path="${sdk.dir}/tools/lib/anttasks.jar" />
    </path>

    <!-- Custom tasks -->
    <taskdef name="setup"
            classname="com.android.ant.NewSetupTask"
            classpathref="android.antlibs" />

后來,用JD-Gui查看anttasks.jar中確實沒有com.android.ant.NewSetupTask,坑爹啊。

在網上也沒有搜索到,沒辦法只好先用同事機器上舊的anttasks.jar.

是不是移動到哪個JAR包中了呢?

對比了代碼,應該是 com.android.ant.NewSetupTask 被分解成幾個小類了:CheckEnvTask, GetTypeTask, GetTargetTask

NewSetupTask = CheckEnvTask + GetTypeTask + GetTargetTask + ...

得把之前的setup 一個個分解,暈

之前的

<setup

....

/>

====》

<CheckEnvTask />
<gettypetask
projectTypeOut="android.project.type"/>
<gettargettask
androidJarFileOut="android.jar"
androidAidlFileOut="android.aidl"
targetApiOut="target.api"
bootclasspathrefOut="android.target.classpath"/>

....

也可以參考:/opt/android-sdk-linux_x86/tools/ant/build.xml文件,這個也是更新過的了

<!-- Pre build setup -->
    <target name="-build-setup" depends="-setup">
....


<!-- Basic Ant + SDK check -->
    <target name="-check-env">
        <checkenv />
    </target>

    <!-- target to disable building dependencies -->
    <target name="nodeps">
        <property name="dont.do.deps" value="true" />
    </target>

    <!-- generic setup -->
    <target name="-setup" depends="-check-env">
        <echo level="info">Project Name: ${ant.project.name}</echo>
        <gettype projectTypeOut="project.type" />
...


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM