IDEA can be used for development of changes in the Android source code?

Hello all,

Thank you fellows and ladies for the continuous development of the IDEA. It is my favorite tool for Java development for years.

Question: Can IDEA be used for changing the Android Java source code? I can easily use IDEA for application development, however any attempt to change or enhance functionality of already existing Android functionality was not successful.
Any hints and help are very appreciated here!..

Thanks,
c

6 comments
Comment actions Permalink

Hello C,

What problems exactly did you experience?

Thank you fellows and ladies for the continuous development of the
IDEA. It is my favorite tool for Java development for years.

Question: Can IDEA be used for changing the Android Java source code?
I can easily use IDEA for application development, however any attempt
to change or enhance functionality of already existing Android
functionality was not successful. Any hints and help are very
appreciated here!..


--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"


0
Comment actions Permalink

Thank you Dmitry for your reply.

I'm trying to change some java class functionality in the phone and flash the device with the updated device image.
1 - When creating a new project for this task, is there a project template suitable for such a task?
2 - To overcome the above I tried to create a dummy android application project, yet then I was requested by the UI to specify the Android SDK folder. Can I supply the device code tree instead of the SDK?

Thanks,
c

0
Comment actions Permalink

Hello C,

There is no project template for this task. As far as I understand, applications
included as open-source in the AOSP are regular Android applications, and
you can develop them in the same way as any other application (i.e. you can
reference a regular Android SDK rather than the AOSP source tree). If you'd
like to hack on some of the system libraries, you should configure a plain
Java project rather than an Android one.

Thank you Dmitry for your reply.

I'm trying to change some java class functionality in the phone and
flash the device with the updated device image.

1 - When creating a new project for this task, is there a project
template suitable for such a task?

2 - To overcome the above I tried to create a dummy android
application project, yet then I was requested by the UI to specify the
Android SDK folder. Can I supply the device code tree instead of the
SDK?


--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"


0
Comment actions Permalink

Understood. Thanks.
More questions to follow.

Thanks,
c

0
Comment actions Permalink

Following Dmitry's advice, I've created a new Java project (from existing sources) and fed IDEA with the entire source code tree. After few hours of indexing, I've got the following exception. Any recommendations are welcome...

[1436009]  ERROR - pplication.impl.LaterInvocator - null                                                        
java.lang.NullPointerException                                                                                  
        at com.intellij.ui.content.impl.ContentManagerImpl.getContents(ContentManagerImpl.java:332)             
        at com.intellij.ui.content.impl.ContentManagerImpl.removeAllContents(ContentManagerImpl.java:320)       
        at com.intellij.openapi.wm.impl.ToolWindowImpl.ensureContentInitialized(ToolWindowImpl.java:379)        
        at com.intellij.openapi.wm.impl.ToolWindowManagerImpl$10$1.run(ToolWindowManagerImpl.java:475)          
        at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:319)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
        at com.intellij.ide.IdeEventQueue.e(IdeEventQueue.java:652)
        at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:506)
        at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:405)
        at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:369)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
[1436052]  ERROR - pplication.impl.LaterInvocator - IntelliJ IDEA (IdeaX) IU-98.486  Build #IU-98.486
[1436052]  ERROR - pplication.impl.LaterInvocator - JDK: 1.6.0_22
[1436052]  ERROR - pplication.impl.LaterInvocator - VM: Java HotSpot(TM) 64-Bit Server VM
[1436052]  ERROR - pplication.impl.LaterInvocator - Vendor: Sun Microsystems Inc.
[1436052]  ERROR - pplication.impl.LaterInvocator - OS: Linux
[1436052]  ERROR - pplication.impl.LaterInvocator - Last Action: NewProject
Killed

0
Comment actions Permalink

Hello C,

I recommend you to upgrade from an old EAP build to the released 10.0.1 version.

Following Dmitry's advice, I've created a new Java project (from
existing sources) and fed IDEA with the entire source code tree. After
few hours of indexing, I've got the following exception. Any
recommendations are welcome...

  ERROR - pplication.impl.LaterInvocator - null
java.lang.NullPointerException
at
com.intellij.ui.content.impl.ContentManagerImpl.getContents(ContentMan
agerImpl.java:332)
at
com.intellij.ui.content.impl.ContentManagerImpl.removeAllContents(Cont
entManagerImpl.java:320)
at
com.intellij.openapi.wm.impl.ToolWindowImpl.ensureContentInitialized(T
oolWindowImpl.java:379)
at
com.intellij.openapi.wm.impl.ToolWindowManagerImpl$10$1.run(ToolWindow
ManagerImpl.java:475)
at
com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(La
terInvocator.java:319)
at
java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at com.intellij.ide.IdeEventQueue.e(IdeEventQueue.java:652)
at
com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:506)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:405)
at
com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:369)
at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThrea
d.java:269)
at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.j
ava:184)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThrea
d.java:174)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at
java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
  ERROR - pplication.impl.LaterInvocator - IntelliJ IDEA
(IdeaX) IU-98.486  Build #IU-98.486
  ERROR - pplication.impl.LaterInvocator - JDK: 1.6.0_22
  ERROR - pplication.impl.LaterInvocator - VM: Java
HotSpot(TM) 64-Bit Server VM
  ERROR - pplication.impl.LaterInvocator - Vendor: Sun
Microsystems Inc.
  ERROR - pplication.impl.LaterInvocator - OS: Linux
  ERROR - pplication.impl.LaterInvocator - Last Action:
NewProject
Killed
---
Original message URL:
http://devnet.jetbrains.net/message/5281849#5281849


--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"


0

Please sign in to leave a comment.