2017-10-22 4 views
0

Android StudioでOpenCVライブラリを含むプロジェクトをほぼ完了しました。app/src/mainの下に新しいフォルダ "jniLibs"を作成してライブラリをインポートしました。 大きな問題があります。.apkファイルのサイズは105 MBです。 AppモジュールにshrinkResourcesとminifyEnabledを使用すると、ディメンションは95 MBに減少します。 OpenCVモジュールでもshrinkResourcesとminifyEnabledを有効にすると、コンパイル時にエラーが返されます。 Gradleは図書館のパッケージを見つけることができません!AndroidスタジオでOpenCvライブラリ用のGradleを有効にする

これは私のbuild.gradle(APP)

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 26 
    buildToolsVersion '26.0.2' 

defaultConfig { 
    applicationId 'it.project' 
    minSdkVersion 19 
    targetSdkVersion 26 
    versionCode 1 
    versionName "1.0" 
} 

buildTypes { 
    release { 
     shrinkResources true 
     minifyEnabled true 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 

sourceSets.main { 
    jniLibs.srcDir 'src/main/jniLibs' 
    jni.srcDirs = [] 
} 
} 

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    compile 'com.android.support:appcompat-v7:26.0.2' 
    compile 'com.android.support:design:26.0.2' 
    compile 'com.google.code.gson:gson:2.7' 

    compile project(':openCVLibrary330') 
} 

であり、これはbuild.gradle(ライブラリ)私もライブラリのコードをクリーンアップするのGradleを活性化させることができる方法

apply plugin: 'com.android.library' 

android { 
    compileSdkVersion 26 
    buildToolsVersion "26.0.2" 

    defaultConfig { 
     minSdkVersion 19 
     targetSdkVersion 26 
    } 
} 

です?

このような状況では、このgradleビルドでは95 MBのapkが得られます。 しかし、ライブラリのminifyを有効にするとエラーが表示されます。 ProGuardのを実行しているとき、それはあなたがあなたのアプリケーションのプロジェクトで使用するかを知らないので、あなたは、プロジェクトのOpenCV自体の縮小を有効にしないでくださいorg.opencv.core ECC ECC

STRUCTURE OF PROJECT

答えて

0

を解決できません。プロジェクトアプリを細かくすることで、OpenCVプロジェクトの作業もすべきです。
また、apkのサイズを小さくするには、Multiple APKを使用することを検討してください。

+0

はい、私は複数のAPKをコンパイルする方法を知っています。しかし、私はそれをやったことがないし、私はアプリを配布するときに彼らが何の問題もないのだろうかと思う。たとえば、私がプレイストアにアプリケーションをロードする場合、それは問題ではないでしょうか? 私は複数のapkを読み込むことができますか?ご協力いただきありがとうございます:) –

+0

はい、Play Marketの複数のapkのオプションがあります。私が知っている問題はありません。 – Mike

+0

ok ...ありがとうございます! :D –

関連する問題