我正在使用Android Studio,而对于其他项目,当我尝试生成已签名的APK时,我会更加轻松地获取app-release.apk
文件。
但是在这个特定的项目中,我只能获得一个app-release-unaligned.apk
文件。
与我的其他项目的主要区别在于使用transloadit jar和org.apache.httpcomponents库,我必须在我的graddle文件中写下packagingOptions字段。
这是我的build.grade文件
apply plugin: 'com.android.application'
android {
signingConfigs {
}
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.bambinotes.bambinotessnap"
minSdkVersion 16
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
zipAlignEnabled true
}
}
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENCE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/license.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/notice.txt'
exclude 'META-INF/ASL2.0'
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile('org.apache.httpcomponents:httpmime:4.3.6') {
exclude module: 'httpclient'
}
compile files('libs/transloadit-1.0.2.jar')
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.anupcowkur:reservoir:2.0'
compile 'com.android.support:cardview-v7:22.2.0'
compile 'com.android.support:recyclerview-v7:22.2.0'
compile 'com.google.android.gms:play-services:7.5.0'
compile 'com.mcxiaoke.volley:library:1.0.16'
compile 'org.apache.httpcomponents:httpclient-android:4.3.5'
compile 'com.android.support:support-v4:22.2.0'
}
**更新**
我刚刚发现我遇到的错误是什么,Android Studio在另一个文件夹中打开了finder,生成了app-debug和app-release-unordigned文件(我们可以考虑作为中间文件),app-release.apk文件是目录结构中的两个文件夹。
即使我因为知道我的麻烦的原因而感到尴尬,但我会留下这个问题,以确定将来是否会发生这种情况。
答案 0 :(得分:12)
app-release.apk文件位于应用程序文件夹中。
有时Android Studio会显示另一个未对齐文件所在的目录,因此您只需要查找新创建的文件。
答案 1 :(得分:0)
您需要将签名配置添加到Gradle文件,有关详细信息,请参阅此答案How to create a release signed apk file using Gradle?