Class: Thrust::Android::Tools

Inherits:
Object
  • Object
show all
Defined in:
lib/thrust/android/tools.rb

Instance Method Summary collapse

Constructor Details

#initialize(out) ⇒ Tools

Returns a new instance of Tools.



4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/thrust/android/tools.rb', line 4

def initialize(out)
  @out = out

  if ENV['ANDROID_HOME'].nil?
    if File.directory?('/usr/local/opt/android-sdk')
      @out.puts 'Setting /usr/local/opt/android-sdk as ANDROID_HOME...'.magenta
      ENV['ANDROID_HOME'] = '/usr/local/opt/android-sdk'
    else
      raise('**********Android is not installed. Run `brew install android`.**********')
    end
  end
end

Instance Method Details

#build_signed_releaseObject



29
30
31
32
# File 'lib/thrust/android/tools.rb', line 29

def build_signed_release
  Thrust::Executor.system_or_exit('mvn clean package -Prelease')
  Dir.glob('target/*-signed-aligned.apk').first or raise 'Signed APK was not generated'
end

#change_build_number(version_code, version_name) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
# File 'lib/thrust/android/tools.rb', line 17

def change_build_number(version_code, version_name)
  Thrust::Executor.system_or_exit(
      "sed -i ''" +
          " -e 's/android:versionCode=\"[0-9]*\"/android:versionCode=\"#{version_code}\"/'" +
          " -e 's/android:versionName=\"\\([^ \"]*\\)[^\"]*\"/android:versionName=\"\\1 (#{version_name})\"/'" +
          " AndroidManifest.xml")
  Thrust::Executor.system_or_exit(
      "sed -i ''" +
          " '1,/<version>/s/<version>\\([^- <]*\\)[^<]*<\\/version>/<version>\\1 (#{version_name})<\\/version>/'" +
          " pom.xml")
end