2015-01-24 5 views
0

(Mac OS X 10.9.5, Android Studio 1.1 Preview 1) Я скачал this app.Как создать APK-файл для Android приложения в "Android Studio"

Это (так или иначе) в Gradle проект. Я изменил несколько вещей. Теперь я хочу создать AKP.

Руководство говорит:

  1. Open the project in Android Studio

  2. Open configuration file /app/src/main/java/com/robotemplates/webviewapp/WebViewAppConfig.java and set constants as required (see below for more info)

  3. Open main build script /app/build.gradle and set constants as required (see below for more info)

  4. Run gradlew assemble in console

  5. APK should be available in /app/build/outputs/apk directory

1) я сделал.

2) Я сделал. Там, у меня есть:

package com.company.app_name; 

    public class WebViewAppConfig { 
     // true for enabling debug logs, should be false in production release 
     public static final boolean LOGS = false; 

     // true for enabling Google Analytics, should be true in production release 
     public static final boolean ANALYTICS = true; 

     // true for enabling Google AdMob, should be true in production release 
     public static final boolean ADMOB = true; 

     // true for opening webview links in external web browser rather than directly in the webview 
     public static final boolean OPEN_LINKS_IN_EXTERNAL_BROWSER = false; 

     // list of file extensions for download, 
     // if webview URL ends with this extension, that file will be downloaded via download manager, 
     // keep this array empty if you do not want to use download manager 
     public static final String[] DOWNLOAD_FILE_TYPES = { 
       ".zip", ".rar", ".pdf", ".doc", ".xls", 
       ".mp3", ".wma", ".ogg", ".m4a", ".wav", 
       ".avi", ".mov", ".mp4", ".mpg", ".3gp" 
     }; 
    } 

3) У меня есть:

 // Main build script for WebView App 
     // 
     // Usage: gradlew assembleDebug   Build debug APK 
     //  gradlew assembleRelease   Build production APK 
     //  gradle wrapper     Create Gradle Wrapper 


     final VERSION_MAJOR = 1 // max two digits 
     final VERSION_MINOR = 2 // max two digits 
     final VERSION_PATCH = 0 // max two digits 
     final VERSION_BUILD = 0 // max three digits 


     apply plugin: 'com.android.application' 


     dependencies 
     { 
      compile 'com.android.support:support-v4:20.+' 
      compile 'com.android.support:appcompat-v7:20.+' 
      compile 'com.google.android.gms:play-services:4.4.+' 
      compile fileTree(dir: 'libs', include: ['*.jar']) 
     } 


     android 
     { 
      compileSdkVersion 19 
      buildToolsVersion "21.1.1" 

      defaultConfig 
      { 
       minSdkVersion 10 
       targetSdkVersion 19 
       versionCode VERSION_MAJOR*10000000 + VERSION_MINOR*100000 + VERSION_PATCH*1000 + VERSION_BUILD 
       versionName "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}" 
      } 

      signingConfigs 
      { 
       release 
       { 
        // passwords and alias are obtained via askForPasswords task 
        storeFile file("../${project.property('keystore.file')}") 
        storePassword "" 
        keyAlias "" 
        keyPassword "" 
       } 
      } 

      buildTypes 
      { 
       debug 
       { 
        versionNameSuffix "-debug" 
       } 

       release 
       { 
        signingConfig signingConfigs.release 
        zipAlignEnabled true 
        minifyEnabled false 
        shrinkResources false 
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
       } 
      } 

      applicationVariants.all 
      { 
       variant -> 
        if(variant.buildType.name.equals("release")) 
        { 
         variant.outputs.each 
         { 
          output -> 
           def outputFile = output.outputFile 
           def date = new Date() 
           if(outputFile!=null && outputFile.name.endsWith('.apk')) 
           { 
            def fileName = outputFile.name.replace(
              "app", 
              "webviewapp-" + defaultConfig.versionName + "-" + defaultConfig.versionCode + "-" + date.format('yyyyMMdd')) 
            output.outputFile = new File((String) outputFile.parent, (String) fileName) 
           } 
         } 
        } 
      } 
     } 


     task askForPasswords << 
     { 
      def storePass 
      def keyAlias 
      def keyPass 

      def keystorePropertiesFile = new File(project.property("keystore.properties")) 

      if(project.hasProperty("keystore.properties") && keystorePropertiesFile.exists()) 
      { 
       println "Loading keystore passwords from property file..." 
       Properties properties = new Properties() 
       properties.load(new FileInputStream(keystorePropertiesFile)) 
       storePass = properties['keystore.store.password'] 
       keyAlias = properties['keystore.key.alias'] 
       keyPass = properties['keystore.key.password'] 
      } 
      else 
      { 
       println "Getting keystore passwords from user input..." 
       storePass = new String(System.console().readPassword("\nStore password: ")) 
       keyAlias = new String(System.console().readLine("Key alias: ")) 
       keyPass = new String(System.console().readPassword("Key password: ")) 
      } 

      android.signingConfigs.release.storePassword = storePass 
      android.signingConfigs.release.keyAlias = keyAlias 
      android.signingConfigs.release.keyPassword = keyPass 
     } 


     tasks.whenTaskAdded 
     { 
      theTask -> 
      if(theTask.name.equals("packageRelease")) 
      { 
       theTask.dependsOn "askForPasswords" 
      } 

4) Когда я бегу "gradlew собрать" в терминале, он говорит: комментарий не найдено. Зачем? В чем вина? Пожалуйста, помогите мне!

+0

От корня проекта директории, "./gradlew чистый $ otherTask" должен быть найден в терминале. –

+0

я получаю это в терминале: –

+0

Последний Логин: Сб 24 января 13:12:20 по ttys000 Давидс воздухе: ~ Дэвид $ ./gradlew чистый $ otherTask -bash: ./gradlew: Нет такого файла или каталога Давидс -air: ~ david $ –

ответ

1

Go построить вариант> выберите "Создать sigend APK"

enter image description here

+0

Большое спасибо. –

+0

I ge ошибка: выполнение не выполнено для задачи ': app: packageRelease'. –

+0

> Не удалось прочитать ключ xxxxxx из магазина «/Users/David/Desktop/AndroidApp/extras/keystore/webviewapp.keystore»: null –

Смежные вопросы