web-dev-qa-db-ja.com

Android studioでapkをビルドするときにAapt_rules.txtが見つかりません

Proguardを実行してapkファイルをビルドすると、次のエラーが表示されます。

Warning:Exception while processing task Java.io.FileNotFoundException: C:\Users\Josh\Documents\AdscendUnityPlugin2.1.3\AdscendUnityPlugin2.1.3\HelloUnity\Export\HelloUnity\build\intermediates\proguard-rules\debug\aapt_rules.txt (The system cannot find the path specified)

私のgradleファイル:

// GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN
buildscript {
    repositories {
        jcenter()
    }

    dependencies {
        classpath 'com.Android.tools.build:gradle:2.3.0'
    }
}

allprojects {
   repositories {
       jcenter()
      flatDir {
        dirs 'libs'
      }
   }
}

apply plugin: 'com.Android.application'

repositories {

    maven { url "https://bitbucket.org/adscend/androidsdk/raw/master/" }
}


dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.adscendmedia.sdk:adscendmedia:2.1.26'
}

Android {
    compileSdkVersion 25
    buildToolsVersion '25.0.0'

    defaultConfig {
        targetSdkVersion 25
    }

    lintOptions {
        abortOnError false
    }

    buildTypes {
        debug {
            jniDebuggable true
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-unity.txt'
        }
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-unity.txt'

        }
    }

}

「proguard-rules」フォルダーも見つからないようですが、このエラーの原因は何ですか?何か案は?

私は自分のデバッグビルドでプロガードを実行していることを知っています、この時点でそれを動作させようとしています。

ありがとうございました

16
Cypras

私の場合、カスタムproguard.proは空白です。プロジェクトを再構築するとうまくいきます。

30
Akira

私の場合、問題はこれでした:
複数のモジュールがあるプロジェクトがあります:1つAndroid application and one Android library。

Android StudioでassembleReleaseをビルドするとき、すべてがrelease(notdebug).

Android StudioはBuild Variant 解放する: - enter image description here

の中に build.gradleライブラリモジュールのファイル:

Android {
    defaultPublishConfig "release"

こちらもご覧ください:

2
TmTron

あなたのproguard-pro.txtは空白かもしれません。この種の問題は以前にありました。 Buはproguard-pro.txtに以下のコードを追加した後、私のために働いた。一度試してみてください、それはあなたのために働くかもしれません。

# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in D:\Android\adt-bundle-windows-x86-20140702\adt-bundle-windows-x86-20140702\sdk/tools/proguard/proguard-Android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
#
# For more details, see
#   http://developer.Android.com/guide/developing/tools/proguard.html

# Add any project specific keep options here:

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
#   public *;
#}
# Required for GSON
-keep class com.ptechsolutions.Android.authenticrecipe.core.** { *; }

-keepattributes *Annotation*
-keepattributes Signature
-keep class Sun.misc.Unsafe { *; }

-keep class * extends Java.util.ListResourceBundle {
    protected Object[][] getContents();
}

-keep public class com.google.Android.gms.common.internal.safeparcel.SafeParcelable {
    public static final *** NULL;
}

-keepnames @com.google.Android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
    @com.google.Android.gms.common.annotation.KeepName *;
}

-keepnames class * implements Android.os.Parcelable {
    public static final ** CREATOR;
}


-keep class butterknife.** { *; }
-dontwarn butterknife.internal.**
-keep class **$$ViewInjector { *; }

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

-keepclasseswithmembernames class * {
    @butterknife.* <methods>;
}
-dontwarn org.Apache.commons.**
-dontwarn com.google.**
-dontwarn com.j256.ormlite**
-dontwarn org.Apache.http**

-keepattributes SourceFile,LineNumberTable
-keep class com.j256.**
-keepclassmembers class com.j256.** { *; }
-keep enum com.j256.**
-keepclassmembers enum com.j256.** { *; }
-keep interface com.j256.**
-keepclassmembers interface com.j256.** { *; }

-keepattributes Signature
# GSON Library
# For using GSON @Expose annotation
-keepattributes *Annotation*

# Gson specific classes
-keep class Sun.misc.Unsafe { *; }
#-keep class com.google.gson.stream.** { *; }

# Application classes that will be serialized/deserialized over Gson
-keep class com.google.gson.examples.Android.model.** { *; }

-keepattributes SourceFile, LineNumberTable

# Google Map
-keep class com.google.Android.gms.maps.** { *; }
-keep interface com.google.Android.gms.maps.** { *; }

-keep class org.Apache.harmony.awt.** { *; }
-dontwarn org.Apache.harmony.awt.**

-keep class com.github.siyamed.** { *; }
-dontwarn com.github.siyamed.**

-keep class com.squareup.picasso.** { *; }
-dontwarn com.squareup.picasso.**

-keep class com.squareup.okhttp.** { *; }
-dontwarn com.squareup.okhttp.**

-keep class com.Sun.mail.** { *; }
-dontwarn com.Sun.mail.**

-keep class org.codehaus.mojo.** { *; }
-dontwarn org.codehaus.mojo.**

-keep class Java.awt.datatransfer.** { *; }
-dontwarn Java.awt.datatransfer.**

-keep class Java.nio.file.** { *; }
-dontwarn Java.nio.file.**

-keep class javax.mail.** { *; }
-dontwarn javax.mail.**

-keep class com.theartofdev.edmodo.** { *; }
-dontwarn com.theartofdev.edmodo.**

-keep class javax.activation.** { *; }
-dontwarn javax.activation.**

-dontskipnonpubliclibraryclassmembers
0
Niladri_Android

Moudleでフォルダーbuildを削除し、再構築します。

あなたのプロジェクトではHelloUnity\build\フォルダ

0
Lait