2016-10-07 6 views
0

Android gradleプラグイン2.2.0(およびAndroid Studio 2.2)にアップグレードした後、私はapp/src/main/assets/magic_info.zipにあるzipファイルから読み込みに問題がありました。プラグインのバージョン2.1.3およびそれ以前と罰金が、今それはそうあり資産からのファイルを見つけることができない何らかの理由で、次の例外Android gradle plugin 2.2.0は、アセットからの読み取り中にFileNotFoundExceptionを引き起こします

java.io.FileNotFoundException: magic_info.zip 
at android.content.res.AssetManager.openAsset(Native Method) 
at android.content.res.AssetManager.open(AssetManager.java:334) 
at android.content.res.AssetManager.open(AssetManager.java:308) 

をスローします。

これまで私が使用していたコードです。

public static ZipInputStream getZipInputStream(Context context) 
{ 
    try 
    { 
     return new ZipInputStream(context.getAssets().open("magic_info.zip")); 
    } 
    catch (IOException e) 
    { 
     e.printStackTrace(); 
    } 
    return null; 
} 

何が問題なのですか?何か不足していますか?

答えて

0

OKを私はそれを考え出したのだが、一種の奇妙です。

Android Studio 2.2およびgradle plugin 2.2以降では、正常に動作させるためには、お使いのマシンにインストールされているターゲットSDKとともに、テス​​トデバイスに対応するアンドロイドSDKが必要です。

私はAPI 24をターゲットにすることができますが、私はアプリをロリポップ(API 21)を実行するデバイスにテストします。 SDK 21をインストールすると、ファイルは正常に読み取られます。

0

この置き換えてください。これで

return new ZipInputStream(context.getAssets().open("magic_info.zip")); 

return new ZipInputStream(getResources().getAssets().open("magic_info.zip")); 
関連する問題