GVKun编程网logo

imageio.IIOException:无法读取输入文件(无法读取或写入核外文件)

6

在本文中,我们将详细介绍imageio.IIOException:无法读取输入文件的各个方面,并为您提供关于无法读取或写入核外文件的相关解答,同时,我们也将为您带来关于AndroidFATALEXCE

在本文中,我们将详细介绍imageio.IIOException:无法读取输入文件的各个方面,并为您提供关于无法读取或写入核外文件的相关解答,同时,我们也将为您带来关于Android FATAL EXCEPTION MAIN:java.lang.RuntimeException:无法启动活动ComponentInfo、Android Studio – java.io.IOException:无法生成v1签名、android – 解压缩zip文件给出“java.util.zip.ZipException:无法读取版本”或“java.util.ZipException无法读取本地标题版本45”、android – 错误:任务’:app:packageRelease’的执行失败. > java.io.IOException:无法读取zip文件的有用知识。

本文目录一览:

imageio.IIOException:无法读取输入文件(无法读取或写入核外文件)

imageio.IIOException:无法读取输入文件(无法读取或写入核外文件)

我一周前开始使用Java,现在我想在窗口中插入一个图像。无论我尝试什么,我都会在Eclipse中继续使用它:
javax.imageio.IIOException:无法读取输入文件!

package graphics;import java.awt.Color;import java.awt.Graphics;import java.awt.Image;import java.io.File;import java.io.IOException;import javax.imageio.ImageIO;import javax.swing.JFrame;import javax.swing.JPanel;import src.Common;public class Window extends JFrame{public class Panel extends JPanel{    public void paintComponent(Graphics g)    {        Image img;         try         {        img = ImageIO.read(new File("/logo.jpg"));        g.drawImage(img, 0, 0, this);        }         catch (IOException e)         {        e.printStackTrace();        }    }}public Window(String title, int width, int height){    this.setTitle(title);    this.setSize(width, height);    this.setLocationRelativeTo(null);    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    this.setContentPane(new Panel());     this.setVisible(true);}

}

我认为代码很容易解释。我试图解决这个问题

我想做的是一个桌面程序,我的源代码存储如下:training / src / graphics / Window training / src / src
/ main

我确实将要读取的图像放在每个文件夹中,仍然出现问题:/

我做错什么了?

编辑终于解决了,这里的答案

nICECOWW给了我帮助的链接。因此,我确实将图像放入文件夹中,并按照链接中所述更改了访问图像的方式。

getClass().getResource("/images/yourImageName.extension");

答案1

小编典典

您是否尝试过使用new File("logo.jpg");(没有前导/)?

并且确定将logo.jpg复制到输出中吗?(某些IDE不会将每个文件从源目录复制到输出(或目标)目录。)

/src|-> Window.java|-> Logo.jpg

变成

/out|-> Window.class

(请注意,IDE /编译器不会将映像复制到输出目录中,因此尽管您指定了正确的路径,但是编译后的代码无法找到该映像)

Android FATAL EXCEPTION MAIN:java.lang.RuntimeException:无法启动活动ComponentInfo

Android FATAL EXCEPTION MAIN:java.lang.RuntimeException:无法启动活动ComponentInfo

我是编程android的nubie,我知道这里有4m是很多页面为我的问题打乱解决方案,但现在我输了2天仍然没有得到解决方案.请帮我!

首先是我的错误:

01-02 11:08:27.314: D/AndroidRuntime(1045): Shutting down VM
01-02 11:08:27.314: W/dalvikvm(1045): threadid=1: thread exiting with uncaught exception (group=0x409e61f8)
01-02 11:08:27.324: E/AndroidRuntime(1045): FATAL EXCEPTION: main
01-02 11:08:27.324: E/AndroidRuntime(1045): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.wifiscan/com.example.wifiscan.activity_wifi_scan}: java.lang.classNotFoundException: com.example.wifiscan.activity_wifi_scan
01-02 11:08:27.324: E/AndroidRuntime(1045):     at android.app.ActivityThread.performlaunchActivity(ActivityThread.java:1880)
01-02 11:08:27.324: E/AndroidRuntime(1045):     at  android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
01-02 11:08:27.324: E/AndroidRuntime(1045):     at android.app.ActivityThread.access$600(ActivityThread.java:123)
01-02 11:08:27.324: E/AndroidRuntime(1045):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
01-02 11:08:27.324: E/AndroidRuntime(1045):     at android.os.Handler.dispatchMessage(Handler.java:99)
01-02 11:08:27.324: E/AndroidRuntime(1045):     at android.os.Looper.loop(Looper.java:137)
01-02 11:08:27.324: E/AndroidRuntime(1045):     at android.app.ActivityThread.main(ActivityThread.java:4424)
01-02 11:08:27.324: E/AndroidRuntime(1045):     at java.lang.reflect.Method.invokeNative(Native Method)
01-02 11:08:27.324: E/AndroidRuntime(1045):     at java.lang.reflect.Method.invoke(Method.java:511)
01-02 11:08:27.324: E/AndroidRuntime(1045):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
01-02 11:08:27.324: E/AndroidRuntime(1045):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
01-02 11:08:27.324: E/AndroidRuntime(1045):     at dalvik.system.NativeStart.main(Native Method)
01-02 11:08:27.324: E/AndroidRuntime(1045): Caused by: java.lang.classNotFoundException: com.example.wifiscan.activity_wifi_scan
01-02 11:08:27.324: E/AndroidRuntime(1045):     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
01-02 11:08:27.324: E/AndroidRuntime(1045):     at java.lang.classLoader.loadClass(ClassLoader.java:501)
01-02 11:08:27.324: E/AndroidRuntime(1045):     at java.lang.classLoader.loadClass(ClassLoader.java:461)
01-02 11:08:27.324: E/AndroidRuntime(1045):     at android.app.Instrumentation.newActivity(Instrumentation.java:1023)
01-02 11:08:27.324: E/AndroidRuntime(1045):     at android.app.ActivityThread.performlaunchActivity(ActivityThread.java:1871)
01-02 11:08:27.324: E/AndroidRuntime(1045):     ... 11 more

我的WifiScan:

 public class WifiScan extends Activity implements OnClickListener {      
     WifiManager wifi;       
     ListView lv;
     TextView textStatus;
     Button buttonScan;
     int size = 0;
     List<ScanResult> results;

     String ITEM_KEY = "key";
     ArrayList<HashMap<String, String>> arraylist = new ArrayList<HashMap<String, String>>();
     SimpleAdapter adapter;

     /* Called when the activity is first created. */
     @Override
     public void onCreate(Bundle savedInstanceState) 
     {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_wifi_scan);

         buttonScan = (Button) findViewById(R.id.scan);
         buttonScan.setonClickListener(this);
         lv = (ListView)findViewById(R.id.list);

         wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
         if (wifi.isWifiEnabled() == false)
         {
             Toast.makeText(getApplicationContext(), "wifi is disabled..making it enabled", Toast.LENGTH_LONG).show();
             wifi.setWifiEnabled(true);
         }   
         wifi.startScan(); //js dopisal
      //   this.adapter = new SimpleAdapter(WiFiDemo.this, arraylist, R.layout.row, new String[] { ITEM_KEY }, new int[] { R.id.list_value });
         lv.setAdapter(this.adapter);

              registerReceiver(new broadcastReceiver()
         {
             @Override
             public void onReceive(Context c, Intent intent) 
             {
                results = wifi.getScanResults();
                size = results.size();
             }
         }, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));                    
     }

     public void onClick(View view) 
     {
         arraylist.clear();          
         wifi.startScan();

              Toast.makeText(this, "Scanning...." + size, Toast.LENGTH_SHORT).show();
         try 
         {
             size = size - 1;
             while (size >= 0) 
             {   
                 HashMap<String, String> item = new HashMap<String, String>();                       
                 item.put(ITEM_KEY, results.get(size).SSID + "  " + results.get(size).capabilities);

                 arraylist.add(item);     
                size--;
                 adapter.notifyDataSetChanged();                 
             } 
         }
         catch (Exception e)
         { }         
     }    
 }

我的activity_wifi_scan.xml文件:

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/TableLayout1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context=".WifiScan" >

    <Button    
        android:id="@+id/scan"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="scan"
        android:text="SCAN" />

    <ListView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
    </ListView>

</TableLayout>

和我的AndroidManifest文件:

<?xml version="1.0" encoding="utf-8"?>
      <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="com.example.wifiscan"
     android:versionCode="1"
          android:versionName="1.0" >

        <uses-premission android:name="android.permission.ACCESS_WIFI_STATE"/>
         <uses-permission android:name="android.permission.WAKE_LOCK"/>
        <uses-permission android:name="android.permission.INTERNET"/>
     <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
     <uses-permission android:name="android.permission.INTERNET"></uses-permission>
     <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
     <uses-permission android:name="android.permission.READ_PHONE_STATE"> </uses-permission>
     <uses-permission android:name="android.permission.INTERNET"> </uses-permission>

     <uses-sdk
          android:minSdkVersion="8"
         android:targetSdkVersion="17" />

     <application
         android:allowBackup="true"
         android:icon="@drawable/ic_launcher"
         android:label="@string/app_name"
         android:theme="@style/AppTheme" >

     <activity android:name=".activity_wifi_scan">
         <intent-filter>
                 <action android:name="android.intent.action.MAIN"></action>
                 <category android:name="android.intent.category.LAUNCHER"></category>
                 <data />
         </intent-filter>
     </activity>

     <receiver android:name=".activity_wifi_scan">
         <intent-filter>
             <action android:name="android.intent.action.MAIN" />
             <category android:name="android.intent.category.LAUNCHER"/>
            <action android:name="android.net.wifi.WIFI_STATE_CHANGED"/>
         </intent-filter>
     </receiver>        
     </application>
 </manifest>

解决方法:

您的活动名称是WifiScan但您已将其声明为.activity_wifi_scan更改它并重试.

更改<活动>要素:

<activity android:name=".WifiScan">
         <intent-filter>
                 <action android:name="android.intent.action.MAIN"></action>
                 <category android:name="android.intent.category.LAUNCHER"></category>
                 <data />
         </intent-filter>
     </activity>

Android Studio – java.io.IOException:无法生成v1签名

Android Studio – java.io.IOException:无法生成v1签名

我将Android Studio更新到3.0 Canary 4之后的所有新版本后出现此错误.(我使用的是v3.0,因为它更快,并且不需要为Kotlin插孔.)

看起来构建流程存在问题,它无法为调试版本和发布版本生成或签署我的APK文件.

我也尝试删除我的debug.keystore,重新启动AndroidStudio和系统(!!!),但它没有解决.

这是一个完整的Gradle日志:

FAILURE: Build Failed with an exception.

* What went wrong: Execution Failed for task ':chris-app:packageDemoDebug'.
java.io.IOException: Failed to generate v1 signature

* Try: Run with --info or --debug option to get more log output.

* Exception is: org.gradle.api.tasks.TaskExecutionException: Execution Failed for task ':chris-app:packageDemoDebug'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)
        at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
        at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
        at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
        at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:88)
        at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
        at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
        at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:243)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:236)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:225)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processtask(DefaultTaskPlanExecutor.java:124)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:80)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:105)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:99)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:625)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:580)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:99)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
        at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) Caused by: org.gradle.tooling.BuildException: java.io.IOException: Failed to generate v1 signature
        at com.android.build.gradle.internal.scope.OutputScope.lambda$parallelForEachOutput$10(OutputScope.java:240)
        at com.android.build.gradle.internal.scope.OutputScope.parallelForEachOutput(OutputScope.java:235)
        at com.android.build.gradle.internal.scope.OutputScope.parallelForEachOutput(OutputScope.java:196)
        at com.android.build.gradle.internal.scope.OutputScope.parallelForEachOutput(OutputScope.java:180)
        at com.android.build.gradle.tasks.PackageAndroidArtifact.doFullTaskAction(PackageAndroidArtifact.java:466)
        at com.android.build.gradle.internal.tasks.IncrementalTask.taskAction(IncrementalTask.java:80)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
        at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$IncrementalTaskAction.doExecute(DefaultTaskClassInfoStore.java:168)
        at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:134)
        at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:121)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:122)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:111)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92)
        ... 27 more Caused by: java.lang.RuntimeException: java.io.IOException: Failed to generate v1 signature Caused by: java.io.IOException: Failed to generate v1 signature
        at com.android.apkzlib.sign.SigningExtension.onOutputZipReadyForUpdate(SigningExtension.java:297)
        at com.android.apkzlib.sign.SigningExtension.access$200(SigningExtension.java:55)
        at com.android.apkzlib.sign.SigningExtension$1.lambda$beforeUpdate$2(SigningExtension.java:175)
        at com.android.apkzlib.zip.ZFile.notify(ZFile.java:2099)
        at com.android.apkzlib.zip.ZFile.update(ZFile.java:871)
        at com.android.apkzlib.zip.ZFile.close(ZFile.java:1161)
        at com.android.apkzlib.zfile.ApkZFileCreator.close(ApkZFileCreator.java:172)
        at com.google.common.io.Closer.close(Closer.java:216)
        at com.android.builder.internal.packaging.IncrementalPackager.close(IncrementalPackager.java:332)
        at com.android.build.gradle.tasks.PackageAndroidArtifact.doTask(PackageAndroidArtifact.java:698)
        at com.android.build.gradle.tasks.PackageAndroidArtifact.splitFullAction(PackageAndroidArtifact.java:520)
        at com.android.build.gradle.internal.scope.OutputScope.lambda$parallelForEachOutput$6(OutputScope.java:185)
        at com.android.build.gradle.internal.scope.OutputScope.lambda$parallelForEachOutput$7(OutputScope.java:202)
        at com.android.build.gradle.internal.scope.OutputScope.lambda$null$8(OutputScope.java:224) "
        at com.android.apksig.internal.apk.v1.V1SchemeSigner.checkEntryNameValid(V1SchemeSigner.java:406)
        at com.android.apksig.internal.apk.v1.V1SchemeSigner.generateManifestFile(V1SchemeSigner.java:373)
        at com.android.apksig.internal.apk.v1.V1SchemeSigner.sign(V1SchemeSigner.java:253)
        at com.android.apksig.DefaultApkSignerEngine.outputJarEntries(DefaultApkSignerEngine.java:372)
        at com.android.apkzlib.sign.SigningExtension.onOutputZipReadyForUpdate(SigningExtension.java:295)
        ... 13 more


BUILD Failed in 2m 49s

解决方法:

在使用gradle assemble –stacktrace命令进行更多调查后,我发现问题与APK压缩过程有关:

Error:org.gradle.tooling.BuildException: Failed to generate v1
signature Error:java.io.IOException: Failed to generate v1 signature
Error:com.android.apksig.apk.ApkFormatException: Unsupported character
0x0d in ZIP entry name “assets/Icon?”

有一个名为“Icon?”的文件.在我的项目中,这是一个MacOS文件,指示文件夹的图标,里面包含CR,LF字符.

我删除了文件,现在一切正常.

此问题出现在Android Studio Canary 4之后的所有版本中,我在此线程https://issuetracker.google.com/issues/63885809上向Android Studio团队报告此问题

他们提到:

3.0 Canary 4 is about the time we added that “Unsupported character” check, so that’s why it happens from that version forward.

他们正在调查更多以解决这个问题,我希望这个答案可以帮助其他人不浪费一个月不更新他们的Android Studio.

android – 解压缩zip文件给出“java.util.zip.ZipException:无法读取版本”或“java.util.ZipException无法读取本地标题版本45”

android – 解压缩zip文件给出“java.util.zip.ZipException:无法读取版本”或“java.util.ZipException无法读取本地标题版本45”

我想提取一个普通的zip文件,但它仍然失败.
这是我现在使用的代码:

private File downloadpath = new File(Environment.getExternalStorageDirectory() + "/Test/file.zip");
private File unzipLoc = new File(Environment.getExternalStorageDirectory() + "/Test/");
        FileInputStream fin = new FileInputStream(downloadpath); 
        ZipInputStream zin = new ZipInputStream(fin);
        ZipEntry ze = null; 
        while ((ze = zin.getNextEntry()) != null) 
        { 
            FileOutputStream fout = new FileOutputStream(unzipLoc + ze.getName()); 
            for (int c = zin.read(); c != -1; c = zin.read()) 
            { 
                fout.write(c); 
            } 

            zin.closeEntry(); 
            fout.close(); 
        } 
        zin.close(); 

它在’zin.getNextEntry()’部分失败.
错误:java.util.zip.ZipException:无法读取版本
有任何想法吗?谢谢!

解决方法:

看起来你的zip文件比你的’解压缩库’更新.

如果您阅读来源:

ZipInputStream(搜索新的ZipException(“无法读取版本”))

它显示它检查zip文件版本.然后查看Wikipedia它显示这是提取zip所需的最低版本.

检查您的zip文件并使用较低版本的zip软件重新保存/再次压缩,无需压缩即可测试

或者更新你的Zip库(你不能使用内部的android zip库).

android – 错误:任务’:app:packageRelease’的执行失败. > java.io.IOException:无法读取zip文件

android – 错误:任务’:app:packageRelease’的执行失败. > java.io.IOException:无法读取zip文件

当我尝试构建发布版本时,我收到以下错误.我正在使用 android studio 2.3.我已经在下面添加了我的gradle和proguard规则文件,我使用mac与mac os X.
Error:Execution Failed for task ':app:packageRelease'.
> java.io.IOException: Failed to read zip file '/Users/username/Documents/Android Projects/Project Name/app/build/intermediates/transforms/proguard/release/jars/3/1f/main.jar'.

proguard规则文件

-keepclassmembers class * {
    @android.webkit.JavascriptInterface <methods>;
}

-keepattributes JavascriptInterface
-keepattributes *Annotation*

-dontwarn com.razorpay.**
-keep class com.razorpay.** {*;}

-optimizations !method/inlining/*

-keepclasseswithmembers class * {
  public void onPayment*(...);
}

-keep @interface butterknife.*

-keepclasseswithmembers class * {
    @butterknife.* <fields>;
}

-keepclasseswithmembers class * {
    @butterknife.* <methods>;
}

-keepclasseswithmembers class * {
    @butterknife.On* <methods>;
}

-keep class **$$ViewInjector {
    public static void inject(...);
    public static void reset(...);
}

-keep class **$$ViewBinder {
    public static void bind(...);
    public static void unbind(...);
}



-keep class com.google.common.** {*;}


-dontwarn sun.misc.Unsafe
-dontwarn javax.annotation.**

gradle文件

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsversion "25.0.2"
    defaultConfig {
        applicationId "com.company.projectname"
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
        }
    }
}

repositories {
    mavenCentral()
}


dependencies {
    compile filetree(dir: 'libs',include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2',{
        exclude group: 'com.android.support',module: 'support-annotations'
    })
    compile 'com.razorpay:checkout:1.2.1'
    compile 'com.android.support:appcompat-v7:25.1.0'
    compile 'com.jakewharton:butterknife:8.5.1'
    compile 'jp.wasabeef:picasso-transformations:2.1.0'
    compile 'com.makeramen:roundedimageview:2.3.0'
    compile 'com.github.greenfrvr:hashtag-view:1.2.1'
    compile 'com.leaking.slideswitch:slideswitch:1.0.0'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'uk.co.chrisjenx:calligraphy:2.2.0'
    compile 'com.android.volley:volley:1.0.0'
    compile 'com.android.support:recyclerview-v7:25.1.0'
    compile 'com.github.devlight:infinitecycleviewpager:1.0.2'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'

    testCompile 'junit:junit:4.12'
}

项目级别的gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
        maven {
            url 'https://dl.bintray.com/leaking/maven'
        }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

解决方法

此问题在项目中引用 here,包括非ASCII类名称.该问题将从Gradle Android插件版本2.4(目前尚未发布)中解决.

另一种方法是降级到2.2.3:

classpath 'com.android.tools.build:gradle:2.2.3'

关于imageio.IIOException:无法读取输入文件无法读取或写入核外文件的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于Android FATAL EXCEPTION MAIN:java.lang.RuntimeException:无法启动活动ComponentInfo、Android Studio – java.io.IOException:无法生成v1签名、android – 解压缩zip文件给出“java.util.zip.ZipException:无法读取版本”或“java.util.ZipException无法读取本地标题版本45”、android – 错误:任务’:app:packageRelease’的执行失败. > java.io.IOException:无法读取zip文件的相关信息,请在本站寻找。

本文标签: