我正在用Android开发工具开发一个Android应用程序。
现在我尝试了新的Android Studio,如果把我的智能手机连接到PC上,直接在Android Studio中运行程序,一切都很好。
但现在我想在其他智能手机上测试这个程序,而不是把它们连接到我的电脑上。
ADT每次编译程序时都会在“projectname/bin”下创建。apk文件。在我看来,Android Studio目前并没有做到这一点。
所以,我的问题是:有可能用Android Studio创建一个unsigned .apk文件吗?
我建议你用Gradle构建你的APK文件:
单击顶部工具栏中的下拉菜单(打开“编辑运行/调试配置”对话框)
选择“编辑配置”
按“+”
选择“它”
选择您的模块作为Gradle项目
在“任务”中输入“组装”
按运行
您的未签名APK现在位于
ProjectName\app\build\outputs\apk
关于如何使用Gradle的详细信息,可以参考本教程:在Android Studio中使用Gradle构建。我还写了一篇关于如何用Gradle构建unsigned APK的博文。
如果你把你的项目从另一个IDE中移动,并且不想重新编译,你可能会发现你的APK文件已经在你移动的IDE中构建了:
如果你用Android Studio生成项目,APK文件将在ProjectName/ProjectName/build/ APK /…
从eclipse导入的项目:File应该在相同的目录中。转到项目-在资源管理器中显示。在这里,您应该可以找到APK文件所在的bin文件夹。
从IntelliJ导入,位置将是ProjectName/out/production/…
注:
正如Chris Stratton在他的评论中提到的:
从技术上讲,您需要的是一个带有调试密钥的APK。一个APK
实际上unsigned会被设备拒绝。
——在signingconfigurations中创建新配置
unsigned {
//do not sign
}
——在buildTypes中创建构建类型
unsigned {
versionNameSuffix '-unsigned'
}
去构建变种,选择unsigned standard。构建项目。
——进入“outputs/apk”,找到“XXX-unsigned.apk”。要检查它是否无符号,请尝试将其安装到设备-您将失败。
对于unsigned APK:将signingConfig设置为null即可。它会给你appname -debug-unsigned。apk
debug {
signingConfig null
}
并从构建菜单构建。享受
已签署的APK:
signingConfigs {
def keyProps = new Properties()
keyProps.load(rootProject.file('keystore.properties').newDataInputStream())
internal {
storeFile file(keyProps.getProperty('CERTIFICATE_PATH'))
storePassword keyProps.getProperty('STORE_PASSWORD')
keyAlias keyProps.getProperty('KEY_ALIAS')
keyPassword keyProps.getProperty('KEY_PASSWORD')
}
}
buildTypes {
debug {
signingConfig signingConfigs.internal
minifyEnabled false
}
release {
signingConfig signingConfigs.internal
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
密钥存储库。属性文件
CERTIFICATE_PATH=./../keystore.jks
STORE_PASSWORD=password
KEY_PASSWORD=password
KEY_ALIAS=key0