2017-03-10 7 views
16

私のAPKファイルを構築するためには、ProGuardを実行している、私は次のエラーを取得:「アンドロイドスタジオでAPKを構築するときAapt_rules.txtが見つかりません

// 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' 

     } 
    } 

} 

私はcouldn:

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のファイルをフォルダに 'proguard-rules'のいずれかが見つかりましたが、このエラーの原因は何ですか? アイデア

私は自分のデバッグビルドでproguardを実行していることを知っています。私はこの時点で動作するようにしています。

は、私はあなたのProGuardの-pro.txtが空白になるかもしれないと思う

+4

です。最新バージョンのGradleプラグインでこの問題が発生する可能性があります。初めて私はこの種の問題を見た。私はGradleプラグインバージョン2.3.0でAndroid Studioをアップグレードしたときにこの問題が発生しています –

+1

同じですが、まだ回避策が見つかりませんでした。 – vRallev

答えて

0

ありがとうございます。私はこの種の問題を早期に抱えていた。 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 
1

私の場合、問題は、このでした:1つのアンドロイドのアプリケーションと1つのアンドロイドライブラリ:私はいくつかのモジュールでプロジェクトを持っている
。私は、Android StudioでassembleReleaseを構築するとき

、私はまた、すべてがリリース(ないデバッグ)のために構築されていることを確認する必要があります。 enter image description here

をライブラリモジュールのbuild.gradleファイルでは:Androidのメーカーで

は解放するためにBuild Variantを設定

android { 
    defaultPublishConfig "release" 

も参照してください。

27

私のカスタムproguard.proは空白です。 プロジェクトのリビルドは私の仕事です。

+1

これは私のために働いた。ありがとうございました。 – user1510006

+1

'プロジェクトのクリーンアップ'が鍵です。 – jclova

0

Moudleのフォルダbuildを削除して再構築します。あなたのプロジェクトで

は私も同じ問題に直面していますHelloUnity\build\フォルダ

関連する問題