Conversion to Dalvik format failed with error 1について

2645 ワード

最近家にいる本を発見して、プロジェクトが混同に参加した後に、エクスポートはすべてヒントを与えます

Conversion to Dalvik format failed with error 1

ネットで見たのは、転々とした解決策です.

android     ( 1.5)        ( 2.2)       ,      :
1。      android sdk  ,   project clean           。
       (                    ,         )
2。     android sdk  ,         :
       1)  SDK
                 ,build path --> configure build path ---> library         SDK,
               add External JARs,     SDK,OK,  
        2)  classpath   
                      : 
        3)   AndroidManifest.xml
              AndroidManifest.xml   ,application     
        4)   default.properties(   )
                     (    # )target=android-3   target=android-8,  。
                   android 2.2         。

これでは私のこの問題を解決できません.
次にeclipseを再ダウンロードし、新しいプロジェクトを作成しましたが、同じようにエクスポートできないことに気づきました.
最終的に1つの文章の中で私にこの問題を解決させました.これはandroid-sdkです.r 12の問題は、以下の通りである.

http://stackoverflow.com/questions/6605971/android-sdk-tools-revision-12-has-problem-with-proguard-error-conversion-to-d

私が採用した解決策は次のとおりです.

http://code.google.com/p/android/issues/detail?id=18359

にある
Android-sdk-windowstoolsproguardbinディレクトリが見つかりました:

proguard.bat

メモ帳で開きます.内容は次のとおりです.

ECHO OFF

REM Start-up script for ProGuard -- free class file shrinker, optimizer,
REM obfuscator, and preverifier for Java bytecode.

rem Change current directory and drive to where the script is, to avoid
rem issues with directories containing whitespaces.
cd /d %~dp0

IF EXIST "%PROGUARD_HOME%" GOTO home
SET PROGUARD_HOME=..
:home

set java_exe=
call "%PROGUARD_HOME%"\..\lib\find_java.bat

call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %*


つかむ
call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %*
変更後:
call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %1 %2 %3 %4 %5 %6 %7 %8 %9
いいですよ.
以前のバージョンと比較すると、この変更は、以前のSDKバージョンに含まれていたproguardに変更されたことに気づきました.batファイルが一致しています.
現在最新のandroid-sdk_r 18-windowsはもうこの問題はありません!
デフォルトではandroid-support-v 4が使用されています.jarなどの声明があれば、これ以上処理する必要はありません.
新しいバージョンの方が便利です.
このようなヒントは、通常、サードパーティのパッケージが既存のクラス名を保持することを宣言していないことです.間違ったヒントを見て声明すればいいです.