Skip to main content

Android Applications with Intellij IDEA - 1

This article applies to Android applications in Windows using IntelliJ IDEA development tools. Windows 7 was used in this example but the explanation will work for other recent versions of Windows.

It is quite a task learning how to use mobile application development tools. This page describes how to digitally sign your .apk file which is the Android application package file. In short, your Android program file.

Once you have created an APK file to launch it, simply copy to your device and use the Android file manager to install it. The picture below shows the digital signature keystore file, the unsigned APK file and the signed APK file.



The procedure of signing the APK file is quite straighforward but first you must ensure your Java JDK is properly installed and that the Java tools are accessible on your commandline (Windows command console - what used to be called the DOS window). Most important is that your PATH environmental variable (In Windows 7 find this at: Control Panel -> System->Advanced System Settings ->Environment Variables  ) should contain the path to the Java bin folder with an entry such as:

C:\Program Files (x86)\Java\jdk1.6.0_16\bin;

The rest of the story proceeds as follows:


1.
Create key storage folder. In my case it is shown on right
"C:\Users\DELL\Documents\A-Courses\Android\IntelliJ IDEA\ca\Keytools\keys"

2.
Change Directory to the key storage folder (created by yourself)
C:\Users\DELL>cd "C:\Users\DELL\Documents\A-Courses\Android\IntelliJ IDEA\ca\Keytools\keys"

3.
Create key with the following command (note that you can select different  keystore names – in red)
C:\Users\DELL\Documents\A-Courses\Android\IntelliJ IDEA\ca\Keytools\keys>keytool  -genkey -alias maneno.keystore -keyalg RSA -validity 20000 -keystore maneno.keystore

4.
The dialog that follows asks for several items as follows:

Note that some responses are optional. I have no idea which ones…
Passwords are not displayed when you enter them.
Enter keystore password:
Re-enter new password:
What is your first and last name?
  [Unknown]:  XXX YYYY
What is the name of your organizational unit?
  [Unknown]: VVV BBB
What is the name of your organization?
  [Unknown]:  UUU
What is the name of your City or Locality?
  [Unknown]:  Nakuru
What is the name of your State or Province?
  [Unknown]:  Nakuru
What is the two-letter country code for this unit?
  [Unknown]:  KE
Is CN= XXX YYYY, OU=Unknown, O=Unknown, L=Nakuru, ST=Nakuru, C=KE correct?
  [no]:  yes

Enter key password for
        (RETURN if same as keystore password):

5.
Sign the .apk file (called Githeko201202.apk in this example)
C:\Users\DELL\Documents\A-Courses\Android\IntelliJ IDEA\ca\Keytools\keys>jarsign er -verbose -keystore maneno.keystore -signedjar Githeko1201_signed.apk Githeko201202.apk maneno.keystore

6.
Provide the password you supplied in step 4 above.
Enter Passphrase for keystore:
   adding: META-INF/MANIFEST.MF
   adding: META-INF/MANENO_K.SF
   adding: META-INF/MANENO_K.RSA
  signing: res/layout/main.xml
  signing: AndroidManifest.xml
  signing: resources.arsc
  signing: classes.dex

7.
End of story


At this point you should have the signed APK file in your target folder. Note that the names you use for the .keystore file and the .apk files will vary.

To run this application in your Android device, copy the signed APK file onto your device (I used the USB data cable) and use the "My Files" Android application to install it as follows:

  1. Browse to the device folder that contains the APK file you just copied.
  2. Select the APK file.
  3. My Files will ask: Do you want to install this application?
  4. Answer "Install"
  5. My Files responds: Application installed.
  6. If it responds: "Application not installed" it means it is most likely unsigned.
  7. End of Story.
Next time we will look at other challenging technical tasks  w.r.t. Android and IntelliJ IDEA.  IntelliJ IDEA is available both as a free application (Community Edition) and a commercial application. Unlike Eclipse which is really a nightmare for most people trying their hand at Android app development for the first time,  IntelliJ IDEA is relatively friendly. I guarantee your app will run before you reach retirement age. I can not offer that guarantee for Eclipse or for Netbeans. Sorry Eclipse gurus - it's the truth. 

Note: Since this article was written, Google borrowed IntelliJ code and created Android Studio based on this code base. As of June 2017, Android Studio 3.0 has been released. Android Studio is now the official IDE for Android app development. 

Above everything, the Messiah is coming soon. Prepare well 

Comments

Popular posts from this blog

How to Install Visual Basic 2017 Offline

This page offers a way to avoid the long and error-prone online installation of Visual Studio which is a massive package. Our interest is limited to Visual Basic and ASP.Net. One can, later, add other tools such as C# and C++. In this page, "VS" refers to Visual Studio. Installing Visual Basic 2017 Offline is not a simple process because Visual Basic 2017 is a part of Visual Studio 2017 that comes as one huge package (up to 35GB) in three versions: Community Edition (Free) Professional Edition (intended for a few people) Enterprise (intended for larger software teams)  Visual Studio by default uses a web-based install process that starts by downloading one of three the bootstrapper package from the VS download page . When you run the bootstraper, it will initiate download of the Visual Studio components that may be up to 35GB in size and takes a very long time to complete. The purpose of this page is to explain how to avoid the headache of this long and tedious

How to Install Packet Tracer 6.0.1 for Linux

This article is intended to help me remember the installation process for Cisco Packet Tracer 6 details of which seems to be hard to come by on the web. 1. Log in in to your Cisco Netspace account. Yes, you need to be logged in. 2. The " Download PT 6.0.1 " link on is on the NetSpace home page. 3. Click this " Cisco Packet Tracer " link shown below the folder icon as shown in the figure below: 4. Select  Cisco Packet Tracer 6.0.1 5. Select download location. 6. After completion of download, use your file manager to open that folder and rename the file to something such as "CPT6". It is a shell script so no file extension is required. 7. Change the file permissions to executable using command: sudo chmod 777 CPT6 from a terminal window opened in the download directory. This assumes your downloaded file is renamed CPT6 8. Launch the file with command: ./CPT6 from the terminal window. You will get the message: Self extracting archive... We