AS 0.4.2 not resolving ActionBarSherlock in GUI, though builds ok - actionbarsherlock

I've added ActionBarSherlock to an existing android app that includes three of my own libraries. It was super easy to add the maven reference to the build.gradle files of the main project and the libraries that needed it, so that the main project now has:
dependencies {
compile project(':ads')
compile project(':core')
compile project(':iap')
compile files('libs/libGoogleAnalyticsServices.jar')
compile 'com.android.support:support-v4:18.0.+'
compile 'com.actionbarsherlock:actionbarsherlock:4.4.0#aar'
}
I can go to the command line and do a ./gradlew assembleRelease and everything builds and runs as expected. However, when I'm inside Android Studio (0.4.2), it won't recognise the import statement, e.g.
import com.actionbarsherlock.app.SherlockActivity;
will get a nice red underline below "app". Accordingly the IDE shows errors for the unrecognised references. I've tried:
clicking the "Sync Project with Gradle Files" button
using the GUI to add the library reference (Open Module Settings, "Dependences" tab, "+")
restarting Android Studio
reading a lot of Stack Overflow articles!
Any suggestions on next steps? The ability to import via the compile / maven dependency was awesome, but being able to edit cleanly in the GUI would be nice :-).

To clear the errors, right click on the project and select Properties. Select Java Compiler and change the “Compiler compliance level” to 1.6.

After upgrading to Android Studio 0.4.6, this problem disappeared. Go figure!

Related

How to fix grayed out import module in Android Studio?

I am trying to merge a few projects into one and therefore have to import either the projects or the modules. When i try "import project..." however, Android Studio will just open another instance of itself, not making any changes to the project. When i try import module, it will gray out the "Finish" button as soon as a module is checked for importing. If none is checked, it will let me continue... and do nothing as expected.
I am using Ubuntu and Android Studio Arctic Fox (newest version, freshly updated)
I already reinstalled and tried to fiddle around with project settings without any results.
I have not found a solution, but i found a workaround. It is possible to merge projects manually by copying the desired module folder "as is" into the new project folder and then copy the file ".idea/modules/modulename.iml" from the old project to the new one. Then one has to add "include ':modulename'" to the settings.gradle and add the path to the .iml file to .idea/modules.xml according to the format the other modules are saved in. Manually invoking gradle synch will update the project structure or show errors, if some were made.

How to disable code inspection errors in README.md file in Android Studio

In my GitHub README.md file, which is in the root of my Android project, I have code snippets like the following ones:
```xml
android:windowSoftInputMode="stateHidden"
```
```java
MongolToast.makeText(getApplicationContext(), "ᠰᠠᠢᠨ ᠪᠠᠢᠨ᠎ᠠ ᠤᠤ︖", MongolToast.LENGTH_LONG).show();
```
However, in Android Studio these code snippets give errors
I don't want to be warned of supposed code errors in the README file. How do I disable all errors here?
Notes:
I know how to suppress inspections normally in code with #SuppressLint or going into settings and unchecking the lint inspection. I don't want these errors to be suppressed in other areas of my project, though.
Somewhat similar question (without an answer): Android Studio - disable errors highlighting for excluded files
After doing some further research I come to conclusion that these errors are not from Android Studio itself but there are plugins for markdown format like Markdown Navigator and Markdown Support if any of them is installed and enabled then you will see above errors in README.md file.
I think this spell check is built in feature of these plugins and can not be controlled from Android Studio.
One option what I think is to disable these plugins and you are good to go.
You can disable these plugins from (Android Studio 3.1.4 MacOS) Preferences > Plugins (or File > Settings > Plugins in Linux) by unchecking them and restart (don't forget it) your Android Studio:
First you need to create a scope (Settings->Scope)
and add the files you want to keep out of scope for the Lints you wanna suppress.
Then go to Settings->Inspections, chose the inspection you wanna remove,
and then on the right choose from the drop down your scope to define the wanted behavior.
In this case, my scope is called AVOID_LINTS, and won't show any typo warnings.
EDIT
In the first step, when you create the scope, you need to add your README to the new scope.
EDIT2
Where to find the scopes:
You may search for the files you want to add, select and click include.
Remove code type annotation, change from:
```xml
android:windowSoftInputMode="stateHidden"
```
```java
MongolToast.makeText(getApplicationContext(), "ᠰᠠᠢᠨ ᠪᠠᠢᠨ᠎ᠠ ᠤᠤ︖", MongolToast.LENGTH_LONG).show();
```
change to:
```
android:windowSoftInputMode="stateHidden"
```
```
MongolToast.makeText(getApplicationContext(), "ᠰᠠᠢᠨ ᠪᠠᠢᠨ᠎ᠠ ᠤᠤ︖", MongolToast.LENGTH_LONG).show();
```
Newer versions of Android Studio starting with 2022.2.1 Flamingo (at least from Beta 1) have an option to toggle "Show problems in code fences" under Preferences > Languages & Frameworks > Markdown.
Note that this toggles all problem types at the same time (typos, warnings and errors).

Unreal Engine 4 Beginner: Error While Adding an Empty C++ Component

The scene is empty with just a Chair[A Static Mesh Component].
Tried cleaning the project.
I am completely new.
What you can do is to open File Explorer and navigate to your project, and right click on .uproject file and select option Generate Visual Studio Files. After that you can compile
This is a known issue in 4.20 and 4.20.1 which has been reported and has been declared fixed but they haven't patched it in the engine yet.
It is only an intellisense error however. If you have problems compiling then just use the in - editor button for compilation and don't compile from Visual Studio.
Here is the original bug report:
https://issues.unrealengine.com/issue/UE-62042
The fix will be included in 4.20.2 when it releases.

"Compile" not in Scope dropdown list - Android Studio

In Android Studio in Project Structure under Dependencies I should be able to set the scope of each dependency. Most of them are set to "Compile", however I am unable to set new ones to Compile as it is simply not an option in the dropdown list:
What should I do to fix this? Restarting doesn't help.
Android Studio version: 3.0.1
I figured it out. Not sure why "Compile" is not in the dropdown list, but simply changing implementation to compile in my build.gradle under dependencies effectively fixes this.

Can Android Studio be used to run standard Java projects?

For those times when you want to isolate the Java and give it a quick test..
Can you run non-Android Java projects in Android studio as in Eclipse?
Tested on Android Studio 0.8.6 - 3.5
Using this method you can have Java modules and Android modules in the same project and also have the ability to compile and run Java modules as stand alone Java projects.
Open your Android project in Android Studio. If you do not have one, create one.
Click File > New Module. Select Java Library and click Next.
Fill in the package name, etc and click Finish. You should now see a Java module inside your Android project.
Add your code to the Java module you've just created.
Click on the drop down to the left of the run button. Click Edit Configurations...
In the new window, click on the plus sign at the top left of the window and select Application
A new application configuration should appear, enter in the details such as your main class and classpath of your module.
Click OK.
Now if you click run, this should compile and run your Java module.
If you get the error Error: Could not find or load main class..., just enter your main class (as you've done in step 7) again even if the field is already filled in. Click Apply and then click Ok.
My usage case:
My Android app relies on some precomputed files to function. These precomputed files are generated by some Java code. Since these two things go hand in hand, it makes the most sense to have both of these modules in the same project.
NEW - How to enable Kotlin in your standalone project
If you want to enable Kotlin inside your standalone project, do the following.
Continuing from the last step above, add the following code to your project level build.gradle (lines to add are denoted by >>>):
buildscript {
>>> ext.kotlin_version = '1.2.51'
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.3'
>>> classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
...
Add the following code to your module level build.gradle (lines to add are denoted by >>>):
apply plugin: 'java-library'
>>> apply plugin: 'kotlin'
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
>>> implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
>>> runtimeClasspath files(compileKotlin.destinationDir)
}
...
Bonus step: Convert your main function to Kotlin! Simply change your main class to:
object Main {
...
#JvmStatic
fun main(args: Array<String>) {
// do something
}
...
}
EDIT: many moon after this question was asked, yes, now apparently you can.
No, but it's based on Intellij IDEA.
The community version of that is free for download but it doesn't support most things requiring an external database or application server. The line for Java is pretty much that JavaSE code can happily use Community.
If you want that (or are using JavaEE) then you either need the Ultimate version, which isn't free, or the EAP of the next version which is usually good for a month until they release another.
Basically it works like this
Android Studio is just Android the Android Stuff from IDEA 13 Community...
...which will be free, and is anything from IDEA 13 Ultimate...
...that doesn't require a database or app server.
http://www.jetbrains.com/idea/
IDEA 12 Community doesn't have the ability to import the gradilized project and it won't, so while you can do Android development in it now (I do), don't expect it to have the same features as Android Studio. There's a lot of good new Android stuff in it, that's going into 13.
Easy way to run a java program in Android Studio would be,
Create a java Class says "Test.java" in Android Studio.
Write your code eg, a Hello World program to test.
Right-click on the Java class and:
select the option Run 'Test.main()'
or
press CTRL + SHIFT + F10 (on windows) or control + R (on Mac)
There you have your Java code running below.
With Android Studio 0.6.1+ (and possibly earlier) you can easily develop standard Java (non-Android) apps.
This method has been tested on 0.8.2:
Start by creating a vanilla Android Phone app, using File > New Project. Then add a Java Library module to hold your Java Application code. (Choose 'Java Library' even if you're building an application). You'll find you can build and run Java apps with main() methods, Swing apps etc.
You'll want to delete the auto-generated Android "app" module, which you're not using. Go to File -> Project Structure, and delete it (select the "app" module in the box on the left, and click the 'minus' icon above the box). Now when you reopen File -> Project Structure -> Project, you'll see options for selecting the project SDK and language level, plus a bunch of other options that were previously hidden. You can go ahead and delete the "app" module from the disk.
In 0.6.1 you could avoid creating the android module in the first place:
Go to File > New Project. Fill in your application name. On the "form factors" selection page, where you state your minimum Android SDK, deselect the Mobile checkbox, and proceed with creating your project.
Once the project is created, go to File -> Project Structure -> Project, and set your JDK as the "Project SDK". Add a Java Library module to hold your application code as above.
Here's exactly what the setup looks like.
Edit Configurations > '+' > Application:
I found a somewhat hacky, annoying and not-completely-sure-it-always-works solution to this. I wanted to share in case someone else finds it useful.
In Android Studio, you can right-click a class with a main method and select "Run .main()". This will create a new Run configuration for YourClass, although it won't quite work: it will be missing some classpath entries.
In order to fix the missing classpath entries, go into the Project Structure and manually add the output folder location for your module and any other module dependencies that you need, like so:
File -> Project Structure ...
Select "Modules" in the Project Settings panel on the left-column panel
Select your module on the list of modules in the middle-column panel
Select the "Dependencies" tab on the right-column panel
And then for the module where you have your Java application as well as for each of the module dependencies you need:
- Click "+" -> "Jars or directories" on the far right of the right-column panel
- Navigate to the output folder of the module (e.g.: my_module/build/classes/main/java) and click "OK"
- On the new entry to the Dependencies list, on the far right, change the select box from "Compile" to "Runtime"
After this, you should be able to execute the Run configuration you just created to run the simple Java application.
One thing to note is that, for my particular [quite involved] Android Studio project set-up, I have to manually build the project with gradle, from outside Android Studio in order to get my simple Java Application classes to build, before I run the application - I think this is because the Run configuration of type "Application" is not triggering the corresponding Gradle build.
Finally, this was done on Android Studio 0.4.0.
I hope others find it useful. I also hope Google comes around to supporting this functionality soon.
I installed IntelliJ IDEA community version from http://www.jetbrains.com/idea/download/
I tried opening my project that I started in Android studio but it failed when at gradle build. I instead opened both android studio and intellij at same time and placed one screen next to the other and simply drag and dropped my java files, xml layouts, drawables, and manifest into the project hiearchy of a new project started in IntelliJ. It worked around the gradle build issues and now I can start a new project in IntelliJ and design either an android app or a basic Java app. Thankfully this worked because I hated having so many IDEs on my pc.
I have been able to do it using following steps:
Open Android Studio and select 'Import Project'.
Browse to your project folder in the browse window and select it.
Tested in Android Studio 0.8.14:
I was able to get a standard project running with minimal steps in this way:
In an open Android Studio project, click File > New Module.
Click More Modules > Java Library > Next, then fill in whatever you prefer for the names.
A new module will appear as a folder on the same level as your "app" folder in the Project Structure. Open it and open the new Java class file.
You can then add your code, and choose Build > Run 'YourClassName'. Presto, your code is running with no Android device!
It works perfect if you do File>Open... and then select pom.xml file. Be sure to change the dropdown at the top-left of the sidebar that says "Android" to "Project" to see all your files. Also I think it helps if the folder your pom.xml file is in a folder called "app/".
Disclaimer: My java project was generated by Google App Engine.
Spent a day on finding the easiest way to do this. The purpose was to find the fastest way to achieve this goal. I couldn't make it as fast as running javac command from terminal or compiling from netbeans or sublime text 3. But still got a good speed with android studio.
This looks ruff and tuff way but since we don't initiate projects on daily bases that is why I am okay to do this.
I downloaded IntelliJ IDEA community version and created a simply java project. I added a main class and tested a run. Then simply closed IntelliJ IDEA and opened Android Studio and opened the same project there. Then I had to simply attach JDK where IDE helped me by showing a list of available JDKs and I selected 1.8 and then it compiled well. I can now open any main file and press Control+Shift+R to run that main file.
Then I copied all my Java files into src folder by Mac OS Finder. And I am able to compile anything I want to.
There is nothing related to Gradle or Android and compile speed is pretty good.
Thanks buddies
To run a java file in Android ensure your class has the main method. In Android Studio 3.5 just right click inside the file and select "Run 'Filename.main()'" or click on "Run" on the menu and select "Run Filename" from the resulting drop-down menu.
on Android Studio 4.0 and above, you will get an option readily on the IDE,a green run icon to run the related main() class.

Resources